- ベストアンサー
vbaでr1c1形式で文字を入れる方法
Range("a1") = "test" のように、r1c1形式で文字を入れる方法を教えてください。 Sub Macro1() r1c1 = "test" End Sub だと、r1c1 が変数として扱われてしまいます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 Range("A1")という方式は本来、後発です。 R1C1 というのは、行と列を数値で表した意味ですから、 VBAには、R1C1 という書き方ではなくて、Cells(1,1).Value = "test" です。 基本的には、こういう方法を使いましょう。 ただし、ワークシートが、R1C1 型なら、Evaluate 方式で、 [R1C1] = "Test" という入力の仕方があります。オススメはしませんが。
その他の回答 (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を使う方が、遥かに素直です。
質問者
お礼
ありがとうございました。
お礼
ありがとうございました。