- ベストアンサー
エクセルVBAで
エクセルのVBAでA列に平仮名全角で文字が入力されているデータをB列にローマ字に変換して入力するようにするということは可能でしょうか? 宜しくお願いします。
- みんなの回答 (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
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
>A列に平仮名全角で文字が入力されている 言葉と言葉の間がスペースで常識的に区切られておれば (1)VBAのプログラムを組めば可能です。 IMEのローマ字入力のときの表が、ワードなどの本に載ってますが、その逆の対応表をプログラムの中の表として持てば良いのです。あと促音などのイレギュラー処理がちょっとありそうです。「はっと」->haltuto-> hatto それに英語(はっと・帽子)が出てくれば、正式な英語スペル(Hat)にするには素人プログラマでは無理か。 しかし対応表を作るのが時間がかかるので、ここには実物は上げません。 (2)エクセルのメニューの操作では出来ません。 (3)関数ではそう言う関数はないと思います(ユーザー関数は別として)。
お礼
ありがとうございました 参考にさせて頂きます
お礼
ありがとうございます。 組み方は上記で分かりました。 頑張って50音?を組んでみようと思います。