部門コードUHRSEMSEMEDSS570SEMD-SEMTEMウルトラミクロトーム
CKY000
CY6B4Z
C27600 5.0
---------------------------------------------------------------------------------
UHRSEM C27600U59092.0 30000
UHRSEM C27600U59093.0 45000
バイブロン C27600 U59095.0 30000
上記の2つのデータ表がありまして、上の表の部門コード&UHRSEMが下の表と同じであれば下の表の合計5.0の値を
上の表のUHRSEMの列に合計の値(5.0)を挿入するマクロの操作を教えて下さい。
No.2ベストアンサー
- 回答日時:
質問の主旨は、合計表を作成するマクロですよね。
上の表はSheet1のA1から、下の表はSheet2のA1から(表題無し)作成されているとします。
1.合計はマクロを使わなくても可能でしょう。
B4セルに
=SUM(IF(Sheet2!$A$1:$A$3=B$1,IF(Sheet2!$B$1:$B$3=$A4,Sheet2!$D$1:$D$3,0)))
として、Ctrl+Shift+Enterで配列数式とすれば計算できます。
2.ピボットテーブルでも簡単にできます。
3.マクロで行うと、以下のようなコードになりました。
標準モジュールに貼り付けます。(合計表の項目数、データ数は自動計算しています)
ご参考に。
Public Sub Syukei()
Dim wsTTL As Worksheet '集計表のあるシート
Dim wsDat As Worksheet 'データのあるシート
Set wsTTL = Worksheets("Sheet1")
Set wsDat = Worksheets("Sheet2")
Dim rw As Long '集計表の行
Dim col As Integer '集計表の列
Dim TTL As Double '合計値
Dim dataNum As Long 'データ数
Dim rwDt As Long 'データの行カウンタ
'データ数を求める
dataNum = wsDat.Range("A1").End(xlDown).Row
Range("A1").Select
'各合計値を求める
For rw = 2 To wsTTL.Range("A2").End(xlDown).Row
For col = 2 To wsTTL.Range("B1").End(xlToRight).Column
TTL = 0
With wsDat
For rwDt = 1 To dataNum
If wsTTL.Cells(rw, 1) = .Cells(rwDt, 2) Then
If wsTTL.Cells(1, col) = .Cells(rwDt, 1) Then
TTL = TTL + .Cells(rwDt, 4)
End If
End If
Next
wsTTL.Cells(rw, col) = TTL '集計表に書き込み
End With
Next
Next
End Sub
No.1
- 回答日時:
多少項目をカットしていますがこんな感じでどうでしょう
For Index = 1 To 3 '上の表が3件なので3回ループします
atai = 0 '合計のエリアをクリア
FINDFLG = "0" '見つかったかどうか判定するフラグの初期化
cell = "A" & Index '上の表の部門コードのセル
a = Range(cell).Value ’上の表の部門の値
cell2 = "B" & Index
b = Range(cell2).Value '上の表のuhrsemの値
For index2 = 1 To 3 '下の表が3件なので3回ループします
cell3 = "E" & index2
c = Range(cell3).Value’下の表の部門の値
cell4 = "F" & index2
d = Range(cell4).Value’下の表のuhrsemの値
If a = c And b = d Then '同じかどうか比較
cell5 = "G" & index2 '値の入っているセルの値
atai = atai + Range(cell5).Value '合計足しこみ
If FINDFLG = "0" Then
FINDFLG = "1" '見つかったためフラグをセット
End If
End If
Next index2
If FINDFLG = "1" Then
cell6 = "C" & Index
Range(cell6).Value = atai '見つかったため値をセット
End If
Next Index
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの質問です。 F列からL...
-
作成した数式を値として表示し...
-
エクセルの文字が途中から消える
-
条件付き書式設定で罫線を引き...
-
Excel関数について教えてくださ...
-
Excelの警告について
-
Excel関数について教えてくださ...
-
ワークシートに出現したこの画...
-
エクセルのセル内に分数などの...
-
タイムスタンプとテキストから...
-
EXCELの散布図で日付が1900年に...
-
エクセルでファイルの最終更新...
-
シートの情報を別のシートへま...
-
マクロの処理が遅くなった
-
エクセルの数式バーのフォント...
-
エクセルの「条件付き書式」を...
-
エクセル日付 文字列の関数がエ...
-
Excelでの文字色
-
Excelの数字の前に入っている空...
-
Excelについて教えてください。...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
Excelで数値を時間数に変換する...
-
エクセルの数式バーのフォント...
-
エクセルで数字の組み合わせを...
-
エクセルを使用して、円周率を...
-
Excelで特定の文字列が含まれて...
-
Excel 対象のセルに入力が無い...
-
任意の値が存在する行に名前を...
-
エクセルでファイルの最終更新...
-
index関数の説明をお願いします。
-
条件付き書式でやりたいのですが
-
重複しない値を取り出したい
-
【ExcelVBA】UTF-8(BOM無)でC...
-
【マクロ】マクロが割当てされ...
-
エクセル IF計算式?でしょうか?
-
エクセルで曜日を入れたい
-
表中の指定した条件の文字列を...
-
【Excel】版が同じ事を示す番号...
-
EXCELの散布図で日付が1900年に...
-
Excelについて。Excelに縦1列に...
おすすめ情報