動作検証バージョン: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
[スポンサードリンク]
- Newer:VBAでPNGファイルのサイズを取得する
- Older:Excel VBAのSetPhoneticはRangeのメソッド
Home » Excel VBA Rangeオブジェクト » Range.SetPhoneticに引数は指定できない