動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2203 ビルド15028.20160 Microsoft Store)
「vba rangeクラスのtextプロパティを設定できません」
といった検索キーワードで時折アクセスがあります。
[スポンサードリンク]
RangeクラスのTextプロパティを設定できません。となるサンプル
以下のExcelマクロを実行すると、
「RangeクラスのTextプロパティを設定できません。」
実行時エラーが発生します。
Sub RangeクラスのTextプロパティを設定できません。実行時エラーを発生させる()
Cells(1, "A").Text = "abc"
End Sub
Cells(1, "A").Text = "abc"
End Sub
アクティブシートのA1セルに、文字列「abc」を入力しようとしているコードです。
RangeクラスのTextプロパティを設定できません。となる原因
「RangeクラスのTextプロパティを設定できません。」実行時エラーが発生する原因は、Range.Textプロパティにあります。
オブジェクトブラウザーの詳細ペインに「読み取り専用」と表示されているとおり、
Rangeオブジェクトに用意されているTextプロパティは設定ができないタイプのプロパティだからです。Range.Textプロパティは、セルに表示されている文字列を取得することしかできないプロパティです。
セルに文字列を入力したいのであれば、別のプロパティを使いましょう。
セルにデータを入力するならRange.Value
以下のコードならば、A1セルに文字列「abc」を入力できます。
Cells(1, "A").Value = "abc"
オブジェクトブラウザーを確認すると、
RangeオブジェクトのValueプロパティの場合、先ほどのTextプロパティとは異なり「読み取り専用」表示が詳細ペインにありません。
最終更新日時:2022-04-21 15:23
[スポンサードリンク]
- Newer:ピボットグラフの凡例をVBAで削除する
- Older:データラベルを値によって非表示にするExcelマクロ
Home » Excel VBA Rangeオブジェクト » 「RangeクラスのTextプロパティを設定できません。」とは