dポイントプレゼントキャンペーン実施中!

以前の質問内容を踏まえて、エクセルのふりがなについて、追加でお尋ねしたく投稿します。

下記の回答で、私が知りたいことは、わかったのですが、A2に漢字、B2にひらがなの位置関係を、ずらしたい場合、回答された内容のどこをさわれば良いのかを知りたいのです。

A2に漢字、B2にひらがなの場合は、うまくいきます。では、C2に漢字、D2にひらがなとしたいときはどうしたら、よいでしょうか。
回答よろしくお願いします。




以前の質問
https://oshiete.goo.ne.jp/qa/5813332.html

エクセルで別のセルにあるふりがなを,漢字の上に表示させる方法はありますか?
たとえばA2に漢字表示,B2にそのふりがなが表示されています。このふりがなをA2の漢字の上に表示したい(同じセルの中に)のですが関数でできますか?
マクロはほとんど分からないので,できれば関数か他の方法がいいのですが…。

回答

Sub test()
Dim i
For i = 2 To Cells(Rows.Count,1).End(xlUp).Row
With Cells(i, 1)
.Characters(1, Len(.Value)).PhoneticCharacters = Cells(i, 2).Value
.Phonetics.Visible = True
End With
Next i
End Sub

A 回答 (1件)

Cellsについて勉強されたほうが早いと思いますよ。


https://www.239-programing.com/excel-vba/basic/b …
http://kabu-macro.com/vba_apply/cells-offset.html

Cells([行番号], [列番号])
これを踏まえて、マクロの意味を一部だけ書いておきます。

Sub test()
Dim i
' 変数iに2からデータのある行数まで
For i = 2 To Cells(Rows.Count,1).End(xlUp).Row
' Cells(i, 1)でA列の2行目以降に
With Cells(i, 1)
' Cells(i, 2).ValueでB2以降の値をフリガナに
.Characters(1, Len(.Value)).PhoneticCharacters = Cells(i, 2).Value
.Phonetics.Visible = True
End With
' 次の行へ
Next i
End Sub

なので、With Cells(i, 3)でC列の漢字に、Cells(i, 4).ValueでD列の値を
フリガナにします。
列が変わっても、これで修正ができます。
    • good
    • 0
この回答へのお礼

(人´∀`).☆.。.:*ありがとうございます。

素人のわたしには、難しいお話ですが、頑張って勉強します。
丁寧な説明、ありがとうございます。

お礼日時:2020/02/10 18:13

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