• ベストアンサー

vbaでr1c1形式で文字を入れる方法

Range("a1") = "test" のように、r1c1形式で文字を入れる方法を教えてください。 Sub Macro1() r1c1 = "test" End Sub だと、r1c1 が変数として扱われてしまいます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

こんにちは。 Range("A1")という方式は本来、後発です。 R1C1 というのは、行と列を数値で表した意味ですから、 VBAには、R1C1 という書き方ではなくて、Cells(1,1).Value = "test" です。 基本的には、こういう方法を使いましょう。 ただし、ワークシートが、R1C1 型なら、Evaluate 方式で、 [R1C1] = "Test" という入力の仕方があります。オススメはしませんが。

SMZKEXXSNGQG
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

ふつーは cells(1, 1) = "test" のように、RangeじゃなくCellsで行・列を指定します rangeにはR1C1形式を受け取る機能はありません。 敢えてご質問の直接の回答としては sub macro1() dim s as string s = "R1C1" range(application.convertformula(s, xlr1c1, xla1)) = "test" end sub といった具合でしょうか。「R1C1文字列」がどこから来るのかはご相談の範疇じゃありませんが、前述したように行・列の数字を元にcellsを使う方が、遥かに素直です。

SMZKEXXSNGQG
質問者

お礼

ありがとうございました。