【ExcelVBA】1つの引数から2つの結果を一度に出したい
- [記事公開]2023.07.12
- VBA
Yahoo!知恵袋に回答した中から、1つの引数から2つの出力結果を得る方法を紹介します。
質問
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11282554436
Excelの関数かマクロ(できればこちら)で
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11282554436
シート1にある、漢字のタイトルがA2にあり、それのカナをB2に、それのローマ字読みをC3に出したいのですが、どうしてもなりません。
漢字(や数字やひらがなやカタカナ)のタイトルがA2にあり、それのカナをB2に、それのローマ字読みをC2の一気に出来るものはないでしょうか?
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11282554436
A2に言葉入れて、ボタン押したら
B2にカナも入り
C2にローマ字も入るということです。要は、A2に入れて実行したら、勝手にB2もC2も入るマクロということです。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11282554436
B2はA2を参照元に
c2もA2を参照元にできるのではないかと。
最初、一括変換を探していたのですが、どこのサイトにもなかったのです。
回答
私が考えたコードは以下のとおりです。
Public Sub ボタンを押したら一気に変換()
Dim sh As Worksheet
Set sh = ActiveSheet
Dim stMoji As String
stMoji = sh.Range("A2").Value
sh.Range("B2").Value = Application.GetPhonetic(Rng.Value)
sh.Range("C2").Value = KatakanaToRoomaziE(sh.Range("B2").Value)
Set sh = Nothing
End Sub
解説
コードを見て分かる通り、結局セルC2はセルB2に入った値を参照するので、質問者さんの意図するところとは違うかな??と思ったのですが、
ありがとうございます。
できました。これですよ~~ほしかったのは。
助かりました。
ということでしたので、これでよかったのでしょう。
コード内にある”KatakanaToRoomaziE”は、こちら↓のサイトにあるものを使っています。
https://green.adam.ne.jp/roomazi/puroguramu.html
例えばセルA2に入った値が「初恋」という2文字の漢字だったとすると、セルB2には「ハツコイ」というカタカナが入ります。
セルC2はセルB2の値を参照してKatakanaToRoomaziE関数が働き、「hatsukoi」という値が入ります。
ちょっと結果だけ見ると単純すぎましたね。質問者さんの意図するところがつかめなくて、だいぶ回答を重ねてしまいました。
途中、配列数式とかスピルとか考えたのですが、そう複雑に考えずに単純にマクロボタンを押したら動作するものを考えればよかったようです。
宣伝
このようにExcel相談にのっています。この記事掲載時点では無料です。Excelでお悩みの方、相談にのりますよ。
ただしこのExcel相談に来たご相談内容は、幣事務所のブログの記事にすることがありますのでご了承ください。
-
前の記事
休日と休暇 2023.07.11
-
次の記事
事務所の仕事ができません 2023.07.13