
毎度毎度お世話になります。
Office2003でのVBAに関しての質問です。
例えば、Sheet1のC3セルとSheet2のC3セルの合計をSheet3のC3セルに表示したい場合に現在下記のように記述しています。
Sheets("Sheet3").Range("C3").Select
ActiveCell.FormulaR1C1 = "=SUM('Sheet1'!RC + 'Sheet2'!RC)"
結果、ちゃんとSheet1のC3セルとSheet2のC3セルの合計をSheet3のC3セルに表示できるのですがこれだとSheet1やSheet2のシート削除するとSheet3の値が崩れますよね。計算式をSheet3のセルに入れているのだから当たり前なんですが・・・
そこで、Sheet3のセルに値を入れる時に、計算式ではなく計算結果を入れたいのですがどのように書けばよいのでしょうか?
No.5ベストアンサー
- 回答日時:
こんにちは。
R1C1方式の便利な方法は活かして、
Sub TestSample()
With Sheets("Sheet3").Range("C3")
.FormulaR1C1 = "=SUM('Sheet1'!RC,'Sheet2'!RC)"
.Value = .Value
End With
End Sub
もっと多くのシートがある場合は、以下のようなスタイルになります。
.FormulaR1C1 = "=SUM('Sheet1:Sheet2'!RC)"
No.7
- 回答日時:
#5 です。
>ただこれだと、数式は残りませんか?
.Value = .Value は、基礎的なテクニックですから、良く覚えてくださいね。
Rangeオブジェクトのプロパティには、いくつかあります。
Formula プロパティと Valueプロパティとは、入力する時点では、同義ですが、出力の段階では、別です。これは、Text プロパテイに対しても同じです。他にも、FormulaLocal とFormula の違い、ValueとValue2 との違い、Text とValue の違いなど、ひとつずつ試しながら覚えるしかありません。FormulaR1C1は、通常は使いません。それは、数式が限定されるからです。それは、同じく、FormulaA1 も同じことです。
それから、経験的に、数式を大量に、VBE上では、抱えないほうがよいです。メモリ食いになります。今回のような場合は、ある意味特別です。VBAで、シートをループするよりも、かなり早く解が出るものだと思います。
No.6
- 回答日時:
よく事情が呑み込めないのですが・・・
VBAでシートを指定して計算して、シートを削除すれば・・・当然、VBAを動作させた際も、エラーになります
そのために、VBAを作るのではなく、コピー&形式貼り付けで、値を貼り付けた方が良いような気がするのですが・・・
テンプレートの様に使用して、保管する際は別のファイル名とかにするのでしょうか?
もう少し補足を出したほうが良いような気がしますが?
No.4
- 回答日時:
Sub Macro1()
Worksheets("Sheet3").Range("C3").Consolidate _
Sources:=Array("Sheet1!R3C3", "Sheet2!R3C3"), _
Function:=xlSum
End Sub
No.1
- 回答日時:
こんにちは。
>"=SUM('Sheet1'!RC + 'Sheet2'!RC)"
もともと、このSUM関数は意味がないと思います。
ActiveCell.FormulaR1C1 = "=Sheet1!RC + Sheet2!RC"
でも同じ答えです。でもこれでは、数式が入力されてしまうので
ActiveCell.Value = Sheets("Sheet1").Range("C1") + Sheets("Sheet2").Range("C1")
に変更すればいいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCELのVBAについて 2 2023/07/05 17:17
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- その他(プログラミング・Web制作) python文字化けエラーが発生しているようです 3 2022/04/13 19:41
- Excel(エクセル) 【Excel質問】別シートにある複数の同型の表から、同じ行項目にある数字を集計する 4 2023/02/16 00:14
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Excel(エクセル) VBAにてエクセルをpdf化する方法 1 2023/03/10 16:20
- Excel(エクセル) こんなことできますか?例えば、sheetに貼り付けた図形のタイトルを、セルA1の文字で表示する。 5 2022/04/22 15:25
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAで変数に関数式の結果をセットする場合
Excel(エクセル)
-
【Excel VBA】計算結果のみ表示させたい
Excel(エクセル)
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
-
4
エクセルVBA: セルの計算結果のデータのみコピー
Excel(エクセル)
-
5
エクセルの機能について 計算結果を別のセルに飛ばしたいのですが、飛ばす先のセルには計算式等は入れず
Excel(エクセル)
-
6
VBAの計算結果が表示されない
Excel(エクセル)
-
7
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
8
特定セルの内容を更新したら、その更新日を自動的に表示する方法について
Excel(エクセル)
-
9
vba セルに入力した時間をマクロで受け取るには?
Excel(エクセル)
-
10
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
11
VBAでEmpty値って何ですか?
Excel(エクセル)
-
12
sumproductの計算式で「エラー2015」(ローカルウィンドウにて)が表示(Excel2007、2003)
その他(Microsoft Office)
-
13
VBAで計算結果のみ表示させたい
Excel(エクセル)
-
14
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
15
VBA .Value=.Value ?
Excel(エクセル)
-
16
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
17
数式の結果が空白の時の空白扱い
Excel(エクセル)
-
18
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
19
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
20
VBAでFormat がうまく使えない
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
iPhoneのExcelアプリで、別のシ...
-
Excelの「0」だけ非表示、小数...
-
EXCELのハイパーリンクのセルを...
-
Excelで複数シートの選択セルを...
-
エクセルで条件に一致したセル...
-
Excelシートの保護時にデータの...
-
エクセルで1月0日と表示される!!
-
日付が未入力の際はゼロか、空...
-
マクロ 新しいシートにデータ...
-
エクセルで、加筆修正したセル...
-
別シートのセルを絶対参照にする
-
エクセル ハイパーリンクで画像...
-
ハイパーリンク で『指定された...
-
Excelでスクロールすると文字が...
-
シート参照で変数を使いたい(EX...
-
エクセルで20万行あるシート...
-
セルを決まった数だけずらして...
-
エクセルでシート保護をかける...
-
エクセルで複写のように自動入...
-
複数シートの同じセル内容を1シ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
Excelで複数シートの選択セルを...
-
Excelシートの保護時にデータの...
-
日付が未入力の際はゼロか、空...
-
エクセルで1月0日と表示される!!
-
エクセルで条件に一致したセル...
-
複数シートの同じセル内容を1シ...
-
ExcelでTODAY関数を更新させな...
-
別シートのセルを絶対参照にする
-
Excelでスクロールすると文字が...
-
EXCELのハイパーリンクのセルを...
-
エクセルで20万行あるシート...
-
エクセルで、加筆修正したセル...
-
エクセル ハイパーリンクで画像...
-
Rangeメソッドは失敗しました。...
-
マクロ 新しいシートにデータ...
-
(Excel)あるセルに文字を入力...
-
エクセルで複写のように自動入...
-
EXCEL関数でシート名が変わる可...
-
エクセルで指定のセルのみ完全...
おすすめ情報