![](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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでSUMIFS関数で条件範囲の部分が#valueになる。 4 2023/04/28 12:42
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- Visual Basic(VBA) VBAで質問があります 1 2022/10/19 10:32
- Excel(エクセル) エクセルのセルの書式設定・ユーザー定義の条件設定について 1 2022/08/17 21:56
- その他(Microsoft Office) ピボットテーブルへの集計フィールド挿入 1 2023/02/26 11:33
- Excel(エクセル) 別シートに毎回異なるデータをコピーする 7 2022/06/24 09:02
- Excel(エクセル) 関数を教えてください。 2 2023/08/01 10:59
- Visual Basic(VBA) VBAコードで質問があります 2 2022/10/20 15:27
- Excel(エクセル) エクセルの計算式を教えてください 3 2023/03/14 13:48
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
Excel VBA ユーザーフォーム内のラベルにテキストボックスの計算結果を出す方法
Visual Basic(VBA)
-
Excel vbaで複数のテキストボックスの足し算
Visual Basic(VBA)
-
Excel VBA ユーザーフォーム内のラベルにテキストボックスの小計を出す方法
Visual Basic(VBA)
-
-
4
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
5
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
6
VBA テキストボックスの計算
Visual Basic(VBA)
-
7
別のシートから値を取得するとき
Visual Basic(VBA)
-
8
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
9
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
10
VBAでユーザーフォームにセル値を表示させるには
Visual Basic(VBA)
-
11
エクセル VBA テキストボックス 掛け算 例)5 × -5 ができない
Excel(エクセル)
-
12
ユーザーフォームに別シートからデータを反映させたい。
Visual Basic(VBA)
-
13
エクセルでエラーが出て困っています。
Excel(エクセル)
-
14
ラベルを表示したり非表示にしたりしたい
Visual Basic(VBA)
-
15
エクセルVBAで開いているファイルをコピーする方法
Visual Basic(VBA)
-
16
エクセルのユーザーフォームでVLOOKUPと同じ機能をするには?
Excel(エクセル)
-
17
テキストボックス(VBA)でEnterを押したときに作動するマクロ
Access(アクセス)
-
18
エクセルVBA オプションボタンのチェックを外したい
Excel(エクセル)
-
19
ファイル名を今日の日付、時刻で保存する
Visual Basic(VBA)
-
20
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの表示についての質問
-
エクセルで二つの数字の小さい...
-
エクセル(勝手に太字になる)
-
PowerPointで表の1つの列だけ...
-
VBA 連続行データを5行ずつ隣の...
-
エクセル 文字数 多い順 並...
-
「B列が日曜の場合」C列に/...
-
VBAで文字列を数値に変換したい
-
お店に入るために行列に並んで...
-
エクセルの表から正の数、負の...
-
2つのエクセルのデータを同じよ...
-
エクセル 同じ値を探して隣の...
-
VBAでセル入力の数式に変数を用...
-
50人を数回、グループ分けする...
-
Excelで、A列にある文字がB列...
-
A列の文字列からB列の文字列を
-
Excel、市から登録している住所...
-
Excel 文字列を結合するときに...
-
エクセルかグーグルスプレッド...
-
EXCELの列と行はどこまで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
エクセル 文字数 多い順 並...
-
VBAで文字列を数値に変換したい
-
エクセル(勝手に太字になる)
-
エクセルで文字が混じった数字...
-
「B列が日曜の場合」C列に/...
-
エクセルの表から正の数、負の...
-
Excelで半角の文字を含むセルを...
-
エクセル 同じ値を探して隣の...
-
Excel、市から登録している住所...
-
エクセルの項目軸を左寄せにしたい
-
EXCELで 一桁の数値を二桁に
-
VBA 連続行データを5行ずつ隣の...
-
エクセル 時間帯の重複の有無
-
エクセルで、列の空欄に隣の列...
-
オートフィルターをかけ、#N/A...
-
A列がない・・・A列が非表示に...
おすすめ情報