Home » Excel VBA Rangeオブジェクト » Range.SetPhoneticに引数は指定できない

動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2409(ビルド18015.20000クイック実行)ベータチャネル

Excel VBAのSetPhoneticはRangeオブジェクトに用意されているメソッドであることを記事にしました。

ChatGPTに、
「Excel VBAのSetPhoneticメソッドの使い方を教えてください」
とお願いしたら、コンパイルエラーになるコードが生成されたので、ネタにさせていただきます。

[スポンサードリンク]

ChatGPTが生成したコンパイルエラーになるサンプルマクロ

ChatGPTは以下のようなサンプルを出力しました。

Sub SetPhoneticExample()
' セルA1に「山田太郎」が入力されているものとします
Range("A1").Value = "山田太郎"

' ふりがなを設定
Range("A1").SetPhonetic Start:=1, Length:=2 '「山田」に対して「やまだ」
Range("A1").SetPhonetic Start:=3, Length:=2 '「太郎」に対して「たろう」
End Sub
ですが、上記のコードは以下のようなコンパイルエラーが発生してしまい実行できません。
コンパイル エラー:
引数の数が一致していません。または不正なプロパティを指定しています。

オブジェクトブラウザーの詳細ペインで確認できるとおり、SetPhoneticメソッドは

Sub SetPhonetic()

と定義されており、引数は指定できません。

ChatGPTが生成したコンパイルエラーにならないサンプルマクロ

つづいて、
「Range.SetPhoneticメソッドに引数は指定できないのではありませんか?」
と質問したところ、以下のようなサンプルマクロを生成してくれました。

Sub SetPhoneticExample()
' セルA1に「山田太郎」が入力されている場合
Range("A1").Value = "山田太郎"

' セルA1にふりがなを設定
Range("A1").SetPhonetic
End Sub

このマクロならエラーは発生しません。
ただしA1セルでフリガナを表示するコードが入っていないため、A1セルにふりがなは表示されません。

更に
「提示されたSetPhoneticExampleを実行してもセルA1にふりがなが表示されませんが、どうすればいいですか?」
と質問したら、ようやく以下のようなマクロが生成されました。

Sub ShowPhoneticExample()
' セルA1に「山田太郎」を入力
Range("A1").Value = "山田太郎"

' セルA1にふりがなを設定
Range("A1").SetPhonetic

' セルA1のふりがなを表示する
Range("A1").Phonetic.Visible = True
End Sub

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » Range.SetPhoneticに引数は指定できない

「Excel VBA Rangeオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.