- ベストアンサー
Excelマクロの集計を算式でなく数値で記録・表
C2~C10セルの値を集計してC1に表示と記録する場合、計算式sum(C2:C10)を残さず集計された値として表示と記録をしたいのですが、具体的にどの様な方法があるでしょうか? VBEとかです。VBEの記述方法などもお願いできますか? Win10,のOffice365のExcel を使用しています。 追伸:上記例のようなシートが同一ブック内に数多くあり、全シート統一したセルの数項目の合計を更に串刺し手法で統合したいのです。串刺しではsum(C2:C10)で集計したままのセルは使えないようですが、数値をいれれば串刺し統合が出来ます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
関数の計算結果を値にする方法は#1さんの方法で解決していると思いますが、その目的が気になります。 >串刺しではsum(C2:C10)で集計したままのセルは使えないようですが、 数値をいれれば串刺し統合が出来ます これが算式を数値化する目的とすると、不要な処理と思います。 添付図には、Sheet1、Sheet2、Sheet3のC2~C10に数値が入力されていて、C1=SUM(C2:C10) となっています。 Sheet4のC1でSheet1~Sheet3の串刺しを行います。 (1)Sheet4のC1で数式バーに「 =SUM( 」と入力 (2)「Sheet1タブ」をクリック (3)Shiftキーを押しながら、「Sheet3タブ」をクリック (4)セルC1をクリックし、「)」を入力してEnter (5)C1をC2~C10にコピーします。 これで、関数の入ったセルも串刺しできているはずです。 逆に、関数の登録されたセルが串刺しに使えないとなると、関数の登録されたセルは再計算に使えない理屈になってしまいます。それを気をつけながら使うとすれば、多分、Excelは使い物にならないソフトになってしまうはずです。 当方、Win10,Excel2010です。
その他の回答 (1)
- kon555
- ベストアンサー率51% (1842/3559)
手動での作業手順であれば、sum関数などで合計したセルをコピーし「値貼り付け」で実現できます。 VBAで実現する場合は Range("C1") = WorksheetFunction.Sum(Range("C2:C10")) でどうぞ
お礼
kon555様、ご丁寧にVBAの式をありがとうございました。 回答2 の方にも申し上げたのですが、元のデータが循環になっていたようで、その為に串刺しがうまく無かったようでした。元データの計算を修正しましたら、関数でも串刺しが出来るようになりました。 Win10 PreinstallされたExcelの為に手違いもあったようでした。 お礼申し上げます。
お礼
nishi6様、大変ご丁寧な返信とご意見をありがとうございました。 投稿した後、いろいろ試していたのですが、ご指摘の様に関数入りの串刺しが出来ました。理由ですが、どうも私自身の操作が悪かったために、元のデータに循環があったようです。 お礼申し上げます。