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

指定した選択範囲のすべてのセル(文字列)(例えばA1~A3)それぞれにおいて、一つ右のセル(B1~B3)に既に入力させた文字列(かな)を、(A1~A3の)ふりがなとしたいです。

似たようなQ&AはWeb上に多くあるのですが、任意の選択範囲に対応したVBAは見当たりませんでした。
(自分でVBAを記載できず、コピペして実行しかできない程度のスキルです。)

よろしくお願いします!

質問者からの補足コメント

  • お二人から回答いただいてからの、後出しの補足になってしまい、恐縮です。
    ご対応いただけたら、助かります。

    1. (例示した)セルA1:A3に限らず、現在選択しているすべてのセルについて、それぞれ一つ右のセルの文字列を見にいくようにできたら、ありがたいです。
    (記述いただいたVBAの"A1:A3"の箇所を編集すればいいのかもしれませんが、毎度、セルの数や行・列は異なるためです。)

    2. ふりがなを全角カタカナに指定できますでしょうか。
    (表示する種類(ひらがな・全角カタカナ・半角カタカナ)は、エクセルのアプリケーションやワークシート全体に及ぶ設定かと誤解していましたが、セルごとに設定できることを、回答いただいてから理解した次第です。)

    3. 「ふりがなの表示」はしないようにできますでしょうか。

    よろしくお願い致します。

      補足日時:2020/06/14 21:09

A 回答 (3件)

No.1です。



前回のコードに少し手を加えました。

Sub Sample2()
 Dim c As Range
 Dim myStr As String

  For Each c In Selection '//①//
   With c
    myStr = Application.GetPhonetic(.Offset(, 1).Text)
     With .Phonetic
      .Text = myStr
      .CharacterType = xlKatakana '//②//
      .Alignment = xlPhoneticAlignCenter
      .Visible = True '//③//
     End With
   End With
  Next c
End Sub

コード内の①・②が補足の1・2になります。
3に関しては③の行を削除するだけで大丈夫だと思います。

※ 必ずデータがあるセルを範囲指定し、マクロを実行してください。
空白セルが指定した範囲にあるとエラーになります。m(_ _)m
    • good
    • 0
この回答へのお礼

後出しの補足に対して再度ご対応いただき、ありがとうございます!
無事できました。
ほんとうに助かります。

コードだけ提示いただくのではなく、説明も付けてくださり、勉強になりました。

お礼日時:2020/06/15 17:30

こんにちは♪



下記のプログラムをコピーして、一旦、メモ帳等に貼り付け、全角スペースを半角スペースに置換してから、
VBEditorに貼り付けてください。

Sub Sample2()
 Dim r As Range
 Dim furigana As String
 
 For Each r In Range("A1:A3")
  furigana = r.Offset(0, 1).Text
  With r.Phonetic
   .Text = furigana
   .CharacterType = xlHiragana
   .Alignment = xlPhoneticAlignCenter
   .Visible = True
  End With
 Next r
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます!

セルA1:A3については、ばっちりできました。

ただ、こちらの説明不足もあり、追加で補足を書かせていただきました。
お手すきでご対応いただけたら幸いです。

(回答No.1のかたへのお礼のコピペで恐縮です。)

お礼日時:2020/06/14 21:12

こんばんは!



一例です。

Sub Sample1()
 Dim c As Range
 Dim myStr As String

  For Each c In Range("A1:A3")
   With c
    myStr = Application.GetPhonetic(.Offset(, 1).Text)
     With .Phonetic
      .Text = myStr
      .CharacterType = xlHiragana
      .Alignment = xlPhoneticAlignCenter
      .Visible = True
     End With
   End With
  Next c
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとうございます!
(返信が遅くなり、失礼致しました。)

セルA1:A3については、ばっちりできました。

ただ、こちらの説明不足もあり、追加で補足を書かせていただきました。
お手すきでご対応いただけたら幸いです。

お礼日時:2020/06/14 21:12

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