ActiveCell.FormulaR1C1 = に関して教えて頂きたいのですが。

勘違いがあれば済みません。現在アクティヴセルが「CW38」です。
次にマクロが
Sub 計算1()
ActiveCell.FormulaR1C1 = "=RC[-25]-R38C76"
End Sub
とあり、実行するとセル内の計算式は「CW38」=BX38-$BX$38 となります。
この数式に於いて、数字の部分を変数に置換えれないのでしょうか。
[-25]の部分に関しては RC[" & 変数 & "]で大丈夫でした。


またもう1点。質問がしづらいですが、RC[-25]=BX38 はアクティブセルからの相対参照ですが、
&マークを付けずにBX38にするにはどのような数式があるのでしょうか。

よろしくおねがいします。

回答の条件
  • 1人3回まで
  • 登録:2008/02/18 22:18:58
  • 終了:2008/02/20 16:15:32

ベストアンサー

id:ardarim No.2

ardarim回答回数892ベストアンサー獲得回数1422008/02/20 01:39:00

ポイント70pt

ええと、こういうことで意図は合ってますか?

ActiveCell.Formula = "=" & Cells(ActiveCell.Row, ActiveCell.Column - 25).Address(False, False, xlA1) & "-" & Cells(ActiveCell.Row, ActiveCell.Column - 25).Address(True, True, xlA1)

ActiveCell.Rowで、アクティブセルの行番号、ActiveCell.Columnでアクティブセルの列番号を取得できます。相対参照でRC[-25]の位置を得たいのであれば、列番号を-25します。(ActiveCell.Column - 25)

希望の位置のセルをCells(行番号, 列番号)で取得して、AddressプロパティでA1形式のセル番号を取得します。このとき、Addressの第1引数、第2引数にFalseを入れると、相対参照(例:BX38)を取得できます。Trueを入れると、絶対参照(例:$BX$38)を取得できます。

id:dadan_dan

返信ありがとうございます。

意図した事と出来上がった事とが見事に一致しました。

私の知識では、この答えは出てきませんでした。

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

2008/02/20 16:13:21

その他の回答(1件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982008/02/18 23:02:30

ポイント30pt

http://www.moug.net/tech/exvba/0050094.htm

Addressプロパティを使ったらいかがでしょうか?

Cells(38, "BX").Address

この38のところを変数にします。

id:dadan_dan

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

私の知識が足りなく、応用できませんでした。ありがとうございました。

2008/02/20 16:10:19
id:ardarim No.2

ardarim回答回数892ベストアンサー獲得回数1422008/02/20 01:39:00ここでベストアンサー

ポイント70pt

ええと、こういうことで意図は合ってますか?

ActiveCell.Formula = "=" & Cells(ActiveCell.Row, ActiveCell.Column - 25).Address(False, False, xlA1) & "-" & Cells(ActiveCell.Row, ActiveCell.Column - 25).Address(True, True, xlA1)

ActiveCell.Rowで、アクティブセルの行番号、ActiveCell.Columnでアクティブセルの列番号を取得できます。相対参照でRC[-25]の位置を得たいのであれば、列番号を-25します。(ActiveCell.Column - 25)

希望の位置のセルをCells(行番号, 列番号)で取得して、AddressプロパティでA1形式のセル番号を取得します。このとき、Addressの第1引数、第2引数にFalseを入れると、相対参照(例:BX38)を取得できます。Trueを入れると、絶対参照(例:$BX$38)を取得できます。

id:dadan_dan

返信ありがとうございます。

意図した事と出来上がった事とが見事に一致しました。

私の知識では、この答えは出てきませんでした。

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

2008/02/20 16:13:21

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません