アプリ版:「スタンプのみでお礼する」機能のリリースについて

Range("a1") = "test"
のように、r1c1形式で文字を入れる方法を教えてください。

Sub Macro1()

r1c1 = "test"

End Sub

だと、r1c1 が変数として扱われてしまいます。

A 回答 (2件)

ふつーは


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を使う方が、遥かに素直です。
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/07/12 09:32

こんにちは。



Range("A1")という方式は本来、後発です。

R1C1 というのは、行と列を数値で表した意味ですから、
VBAには、R1C1 という書き方ではなくて、Cells(1,1).Value = "test" です。
基本的には、こういう方法を使いましょう。

ただし、ワークシートが、R1C1 型なら、Evaluate 方式で、
[R1C1] = "Test"

という入力の仕方があります。オススメはしませんが。
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/07/12 09:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!