![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
お話がよく見えてきませんが、
○列A=大分類,列B=中分類,列C=小分類,列D=売上金額の表があります。
ということですが、結局は、種類別の「売上合計」を出すのですか?
単なる、ワークシート関数の式の組み立てではないのしょうか?
SUM でも、SUMPRODUCTでも、配列の確定の必要がありません。
With Sheet1
.Select
With .Range("A1", .Range("A65536").End(xlUp))
MsgBox Application.Evaluate("SUM(IF(" & .Address & "=1," & _
.Offset(, 3).Address & ",0))")
End With
End With
ここの部分は、もし、はっきりしているなら、
"SUM(IF(" & .Address & "=1," & .Offset(, 3).Address & ",0))"
"SUM(IF(A2:A200=1,B2:B200,0)"
でも構いません。ただし、列を指定しないでくださいね。(例:A:Aというように全体を指定する)
"SUMPRODUCT((A1:A200=1)*(D1:D200))"
Dim myValue As Variant
With Sheet1
.Select
myValue = Application.Evaluate("SUMPRODUCT((A1:A200=1)*(D1:D200))")
If Not IsError(myValue) Then
MsgBox myValue
Else
MsgBox "エラーが出ています", 16
End If
End With
このようにして、エラー処理します。
No.1
- 回答日時:
合計値を出す場合、ワークシート関数を使ったほうが、エラーを吐かなくて便利です。
TextBox に出す(またはLabelは、Caption)として、
サンプル: ボタンとかに以下を入れます。
Dim a As Double, b As Double, c As Double, d As Double
With Sheet1
With .Range("A1", .Range("A65536").End(xlUp))
a = Application.Sum(.Value)
If Not IsError(a) Then TextBox1.Value = Format$(a, "#,##0")
End With
With .Range("B1", .Range("B65536").End(xlUp))
b = Application.Sum(.Value)
If Not IsError(b) Then TextBox2.Value = Format$(b, "#,##0")
End With
With .Range("C1", .Range("C65536").End(xlUp))
c = Application.Sum(.Value)
If Not IsError(c) Then TextBox3.Value = Format$(c, "#,##0")
End With
With .Range("D1", .Range("DC65536").End(xlUp))
d = Application.Sum(.Value)
If Not IsError(d) Then TextBox4.Value = Format$(d, "#,##0")
End With
End With
この回答への補足
早速ありがとうございます。おかげさまで問題解決しました・・・と申し上げたい所なのですが、すみません。私の質問の仕方が悪く、正確には、
大分類、中分類、小分類にそれぞれ2つの分類コードがあり、
・全体の合計
・大分類2種の合計
・中分類2×2=4種の合計
・小分類2×2×2=8種の合計
計15コの合計をそれぞれ出したかったのです。
SUMPRODUCT関数のような形で導き出す必要があるのですが、こちらは可能でしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたが好きな本屋さんを教えてください
どのくらいの規模間で、どのような本が並んでいるか、どのような雰囲気なのかなどなど...
-
VBA テキストボックスの計算
Visual Basic(VBA)
-
Excel VBA ユーザーフォーム内のラベルにテキストボックスの計算結果を出す方法
Visual Basic(VBA)
-
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
-
4
Excel vbaで複数のテキストボックスの足し算
Visual Basic(VBA)
-
5
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
6
Excel VBA ユーザーフォーム内のラベルにテキストボックスの小計を出す方法
Visual Basic(VBA)
-
7
ユーザーフォームに今の時間を表示
Access(アクセス)
-
8
VBAでユーザーフォームにセル値を表示させるには
Visual Basic(VBA)
-
9
VBA ユーザーフォーム上のチェックボックスの合計を別シートに標示させるには?
Visual Basic(VBA)
-
10
ユーザーフォームに別シートからデータを反映させたい。
Visual Basic(VBA)
-
11
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
12
ラベルを表示したり非表示にしたりしたい
Visual Basic(VBA)
-
13
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
14
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
15
ユーザーフォームのTextに数値を入れるとセルにエ
Excel(エクセル)
-
16
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
17
エクセル VBA テキストボックス 掛け算 例)5 × -5 ができない
Excel(エクセル)
-
18
Excelにて、ユーザーフォームで、日付けの範囲を指定し、検索しデーターを抽出し 別シートへ転記した
Excel(エクセル)
-
19
エクセルVBA 1行飛ばしで転記するループ処理
Excel(エクセル)
-
20
ユーザーフォームのラベルに日付を表示させる方法があればお願いします。出来ればコード書いていただけると
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
エクセル 同じ値を探して隣の...
-
エクセルかグーグルスプレッド...
-
VBAで文字列を数値に変換したい
-
2つのエクセルのデータを同じよ...
-
エクセルの表から正の数、負の...
-
エクセル(勝手に太字になる)
-
エクセルの項目軸を左寄せにしたい
-
【VBA】特定列に文字が入ってい...
-
エクセル 時間帯の重複の有無
-
文字列に数字を含むセルを調べたい
-
エクセル 文字数 多い順 並...
-
エクセルで文字が混じった数字...
-
お店に入るために行列に並んで...
-
「B列が日曜の場合」C列に/...
-
エクセルの表示画面(シート)...
-
ExcelのIF関数によるフラグ立て...
-
条件付き書式の適用先が変更さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
エクセル(勝手に太字になる)
-
Excelで半角の文字を含むセルを...
-
エクセル 文字数 多い順 並...
-
2つのエクセルのデータを同じよ...
-
エクセルで文字が混じった数字...
-
文字列に数字を含むセルを調べたい
-
エクセル 時間帯の重複の有無
-
VBAで文字列を数値に変換したい
-
「B列が日曜の場合」C列に/...
-
エクセル 同じ値を探して隣の...
-
エクセルの項目軸を左寄せにしたい
-
エクセルで、列の空欄に隣の列...
-
お店に入るために行列に並んで...
-
Excel、市から登録している住所...
-
エクセルの並び変えで、空白セ...
-
オートフィルターをかけ、#N/A...
-
エクセルの表から正の数、負の...
おすすめ情報