• ベストアンサー

エクセルVBAで

エクセルのVBAでA列に平仮名全角で文字が入力されているデータをB列にローマ字に変換して入力するようにするということは可能でしょうか? 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • 0shiete
  • ベストアンサー率30% (148/492)
回答No.2

セルA1に「さしすせそ」と入れて 下記のモジュールを実行してみてください。 Sub test() Dim i As Integer Dim myString As String Dim myString2 As String myString = Range("a1") myString2 = "" For i = 1 To Len(myString) If Mid(myString, i, 1) = "さ" Then myString2 = myString2 & "sa" If Mid(myString, i, 1) = "し" Then myString2 = myString2 & "si" If Mid(myString, i, 1) = "す" Then myString2 = myString2 & "su" If Mid(myString, i, 1) = "せ" Then myString2 = myString2 & "se" If Mid(myString, i, 1) = "そ" Then myString2 = myString2 & "so" Next i Range("b1") = myString2 End Sub

fisherman2
質問者

お礼

ありがとうございます。 組み方は上記で分かりました。 頑張って50音?を組んでみようと思います。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

>A列に平仮名全角で文字が入力されている 言葉と言葉の間がスペースで常識的に区切られておれば (1)VBAのプログラムを組めば可能です。 IMEのローマ字入力のときの表が、ワードなどの本に載ってますが、その逆の対応表をプログラムの中の表として持てば良いのです。あと促音などのイレギュラー処理がちょっとありそうです。「はっと」->haltuto-> hatto それに英語(はっと・帽子)が出てくれば、正式な英語スペル(Hat)にするには素人プログラマでは無理か。 しかし対応表を作るのが時間がかかるので、ここには実物は上げません。 (2)エクセルのメニューの操作では出来ません。 (3)関数ではそう言う関数はないと思います(ユーザー関数は別として)。

fisherman2
質問者

お礼

ありがとうございました 参考にさせて頂きます

関連するQ&A