You could try a custom format

"J"#
or with code

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
    If .Address(0, 0) = "H23" Then
        Select Case Left(.Value, 1)
            Case 1 To 9: .Value = "J" & .Value
            Case "j": .Value = StrConv(.Value, vbUpperCase)
            Case Else: '
        End Select
    End If
End With
        
End Sub
VBA Noob