こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルVBAで

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

宜しくお願いします。

投稿日時 - 2004-07-25 10:01:06

QNo.938706

困ってます

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

セル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

投稿日時 - 2004-07-25 10:43:22

お礼

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

投稿日時 - 2004-07-25 10:49:40

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

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

投稿日時 - 2004-07-25 10:32:57

お礼

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

投稿日時 - 2004-07-25 10:48:09

あなたにオススメの質問