プロが教えるわが家の防犯対策術!

いつもお世話になります。

OSは、win11 エクセルはoffice365です。

ご指導を仰ぎたいのは、
例えば userformの
 Sheets("記入").Range("B4").Value に 「山田花子」と手入力しているが
自動的に全角カタカナに変換するコードに置き換えるには

参考にコードです
Sub 転記()
Dim i
For i = 4 To Sheets("マスタ").Range("A10000").End(xlUp).Row + 1
If Sheets("マスタ").Range("A" & i).Value = "" Then
With Sheets("マスタ")
.Range("A" & i).Value = Sheets("記入").Range("B3").Value
       '※↓現在は手入力でB4に
.Range("C" & i).Value = Sheets("記入").Range("B4").Value
.Range("D" & i).Value = Sheets("記入").Range("B5").Value
.Range("E" & i).Value = Sheets("記入").Range("B6").Value
.Range("F" & i).Value = Sheets("記入").Range("B7").Value


End With
'MsgBox "登録が完了しました"
Sheets("記入").Range("B3:B7").ClearContents
Exit For
End If
Next
Application.Goto Worksheets("マスタ").Range("A1")
Application.Goto Worksheets("記入").Range("B3")
End Sub

A 回答 (2件)

こんにちは


userformなら
TextBoxを追加して・・
現状TextBoxに 山田花子(手入力)(コピペはダメ)
追加TextBoxからSheets("記入").Range("B4").Valueへ
Private Sub 現状TextBox_Exit(ByVal Cancel As MSForms.ReturnBoolean)
追加TextBox.Value = Application.GetPhonetic(現状TextBox.Value)
End Sub

コントロール名は適時変更
現状TextBoxからフォーカスを移せば確認できます
違っていたら直接 追加TextBoxにカタカナ入力・・
    • good
    • 0
この回答へのお礼

ご指導ありがとうございます。
返事が今になりお許しください。

ご指導を参考に色々サイトで調べ下記のようなコードにしました。

おかしなところなどがありましたらアドバイスを頂けると嬉しいです。

Sub 転記()
「 Dim kanji As String
Dim カタカナ As String
kanji = Application.GetPhonetic(Range("B4").Value)
Do While kanji <> ""
カタカナ = カタカナ & kanji & vbCrLf
kanji = Application.GetPhonetic
Range("B6").Value = カタカナ
  Loop 」

Dim i
For i = 4 To Sheets("DB").Range("C10000").End(xlUp).Row + 1
If Sheets("DB").Range("C" & i).Value = "" Then
With Sheets("DB")
.Range("C" & i).Value = Sheets("記入").Range("B3").Value
.Range("E" & i).Value = Sheets("記入").Range("B4").Value

お礼日時:2022/07/25 08:11

こんにちは



名前の場合、読み方が難しいので、なかなか「自動で」とはいかないと思いますが・・

ふりがなを取得する関数がありますので、それを用いることで、ある程度までは「あたり」の変換はできると思います。
(人手でのチェックは必要でしょう)

以下、ご参考までに。
https://vbabeginner.net/get-the-phonetic-guide-o …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!