[[20140410095011]] 『合計欄のひとつ上のセルまでの合計を求めたい』(saka) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『合計欄のひとつ上のセルまでの合計を求めたい』(saka)

お世話になります。
試行錯誤してみたのですが、どうにもうまくできず
ご教示いただけたら幸いです。

毎月案件数が変化する案件管理一覧表を作成しています。

もともとのデータを、案件管理一覧表のフォーマットへ
必要項目のみVBAにて流し込みをしています。

案件数が毎回変わるため、フォーマットの行数は多めに作成してあり
下記のマクロにて余った行(入力のない行)を削除しています。

 Rows("10:10").Select  'タイトル10行目
  Selection.AutoFilter
    Selection.AutoFilter Field:=5, Criteria1:=""
    Selection.AutoFilter Field:=6, Criteria1:=""

 Rows("10:10").Select
    Range(Selection, Selection.End(xlDown)).Select  
    Selection.Delete Shift:=xlUp   

各列に売上高・粗利等がありますが、その合計を、合計欄に自動に合計値が出るようにしたいです。

たとえばJ列売上高の合計を、合計欄(フォーマットの時点では、J4210になります)
に「=SUM($J$10:OFFSET(J4210,-1,))」と関数を入れてマクロを動かすと
「#REF!」となってしまいます。

上記合計欄の下に、受注確度の内訳や、注釈等がありますので
End(xlDown)にて取得するのは難しいかなと思っています。

以上わかりづらい説明で恐縮ですが、どうぞ宜しくお願い致します。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 >=SUM($J$10:OFFSET(J4210,-1,))

 これに変えてみたらどうですか?

 =SUM($J$10:INDEX(J:J,ROW()-1))

(半平太) 2014/04/10(木) 14:45


半平太さん

ご指示ありがとうございます。

ご指示通りやってみましたが、やはり「#REF!」となってしまいます。
合計欄の下にも注釈等があるのが関係あるのでしょうか。

=SUM($J$10:INDEX(J:J,ROW()-1))
と入力した欄は、マクロ実行後「=SUM(#REF!:INDEX(J:J,ROW()-1))」となってしまっています。

(saka) 2014/04/10(木) 16:47


 横から失礼します。
 =SUM(INDIRECT("$J$10"):INDEX(J:J,ROW()-1))

 だとどうですか?
(se_9) 2014/04/10(木) 17:03

 実行すると、10行目が消えてしまうのではないかと思いますが
 それはそれで良いのですか?

 10行目を消すのなら、$J$11 からの合計の式にしておけば良さそうですが。。。?
  
(HANA) 2014/04/10(木) 17:05

se_9さん、HANAさん、ありがとうございます。

おふたりのあわせ技で無事解決致しました。
10行目は消えてしまっていたのですね。目からうろこです。

こんなに早く解決するとは、本当にありがたい限りです。
ありがとうございました。
(saka) 2014/04/10(木) 17:37


 エラーになる原因は、10行目が消されてしまう為なので
 10行目が消えてしまわない様なコードに変更すれば
 そのままの式で大丈夫だったと思いますが。。。
  
(HANA) 2014/04/11(金) 10:40

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.