Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10569 / 13646 ツリー ←次へ | 前へ→

【21068】累計を求める計算式について jagariko 05/1/9(日) 18:25 質問[未読]
【21069】Re:累計を求める計算式について かみちゃん 05/1/9(日) 18:42 回答[未読]
【21073】Re:累計を求める計算式について jagariko 05/1/10(月) 11:02 お礼[未読]

【21068】累計を求める計算式について
質問  jagariko E-MAIL  - 05/1/9(日) 18:25 -

引用なし
パスワード
   定型の書式が入った31枚のシートがあり、データ(数値)を入力した時点で
アクティブシートの集計セルと前シートの累計が加算され
それぞれの累計セルに入る計算式を作ろうとしました

Dim i As Long
For i = 2 To 31
Sheets(i).Select
Range("F20").Select
Range("F20") = Sheets(i).Range("D20") + Sheets(i - 1).Range("F20")
Next i
End Sub

上記を実行すると計算式ではなく、値が入力されてしまいます

Range("F20").Select
ActiveCell.FormulaR1C1 = "=SUM(RC[-2])+'1'!RC"
自動記録で作成された上記に変数を組み込む事ができませんでした
どの様に書き換えれば良いのでしょうか
宜しくお願いいたします

【21069】Re:累計を求める計算式について
回答  かみちゃん  - 05/1/9(日) 18:42 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>ActiveCell.FormulaR1C1 = "=SUM(RC[-2])+'1'!RC"
>自動記録で作成された上記に変数を組み込む事ができませんでした
>どの様に書き換えれば良いのでしょうか

=SUM(RC[-2])+'1'!RC
の式が正しいのかどうか、
=SUM(RC[-2],'2'!RC)

=RC[-2]+'2'!RC
でもいいとは思うのですが、とりあえず、ポイントは、前シートの名前を取得する
ことが目的なので、以下のような感じでできると思います。
ActiveCell.FormulaR1C1 = "=SUM(RC[-2])+'" & Sheets(i - 1).Name & "'!RC"
でも、これは、「1」「2」という名前のシートではなく、1番目、2番目のシートのシート名をさしていますので、注意してください。

Sheets(i).Selectとなっているのですが、どちらが正しいのでしょうか?
もし、「1」「2」という名前のシートならば、
ActiveCell.FormulaR1C1 = "=SUM(RC[-2])+'" & i - 1 & "'!RC"
でいいと思います。

【21073】Re:累計を求める計算式について
お礼  jagariko E-MAIL  - 05/1/10(月) 11:02 -

引用なし
パスワード
   ▼かみちゃん さん:
質問いたしましたjagakikoです
お礼が遅くなり誠に申し訳ありませんでした
下記にて実行できました

>ActiveCell.FormulaR1C1 = "=SUM(RC[-2])+'" & Sheets(i - 1).Name & "'!RC"

他にもお書きいただいた内容を理解しながら勉強していきます
ありがとうございました

10569 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free