いつも回答して頂きありがとうございます。
マクロの記述中にも関数の入力が必要な場合があると最近知った者です。
で、質問ですが、
集計用シートのC3・D3・E3・・・・に商品名が入力されている
集計用シートのB4・B5・B6・・・・に日付が連続して入力されている
履歴シートから1日単位で商品の動きを調査したいと思いますが
マクロの記述中にCOUNTIFSを使う方法はあるのでしょうか?
商品名毎の繰り返し処理を記述しましたが、参照セルの移動方法が分かりません。御指導の程宜しくお願い致します。(マクロ記述の中にある??が分からない箇所です。)
Sub 集計4()
Dim retu As Long
retu = 3
For retu = 3 To Cells(3, Columns.Count).End(xlToLeft).Column
Worksheets("集計用").Cells(4, retu).Formula = "=COUNTIFS(データ元!B8:B60000,集計用!??,データ元!D8:D60000,集計用!??)"
Next retu
End Sub
No.3ベストアンサー
- 回答日時:
ループは不要ではないでしょうか。
Sub 集計4()
Dim r As Long, c As Long
With Sheets("集計")
c = .Cells(3, Columns.Count).End(xlToLeft).Column
r = .Cells(Rows.Count, 2).End(xlUp).Row
.Range(.Cells(4, 3), .Cells(r, c)).Formula = _
"=COUNTIFS(元データ!r8c3:r60000c3,rc2 ,元データ!r8c4:r60000c4,r3c)"
End With
End Sub
無事思い通りのマクロ動作が一瞬で出来ました。驚きです。
で、質問ですが、条件設定でrc2となっていますが、行方向にセル式を参照する場合は、rの後ろを未入力にする事で実行できると考えてよろしいのでしょうか?
No.4
- 回答日時:
No3です。
>行方向にセル式を参照する場合は、rの後ろを未入力にする事で実行できると考えてよろしいのでしょうか?
⇒行方向が縦方向ならばそういう事です。
No.1
- 回答日時:
Formulaで式は"で閉じられており文字列としての扱いになりますのでセルの変化を伴う動きに対応ができません。
列や行の変化を付けてマクロを完成するには例えば次のようにします。
Sub 集計4()
Dim retu As Long
Dim gyou As Long
Set WS1 = Worksheets("Sheet3")
Set WS2 = Worksheets("Sheet4")
For gyou = 4 To WS1.Cells(Rows.Count, 2).End(xlUp).Row
For retu = 3 To WS1.Cells(3, Columns.Count).End(xlToLeft).Column
WS1.Cells(gyou, retu) = WorksheetFunction.CountIfs(WS2.Range("B4:B60000"), WS1.Cells(gyou, 2), WS2.Range("D4:D60000"), WS1.Cells(3, retu))
Next retu
Next gyou
End Sub
回答ありがとうございます。
Formulaではなく、WorksheetFunctionを使えば、条件設定等にCellsを使用する事が可能なんですね。いい勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【エクセル】オートフィルタで...
-
エクセルで特定の色の数字だけ...
-
VLOOKUP関数とCOUNT関数等の組...
-
ピボットの集計方法「合計」初...
-
VBAで重複する項目を1つにまと...
-
ピボットテーブルでは時間の表...
-
EXCEL 重複データの集計の仕方
-
マクロでピボットテーブルを作...
-
フィルタをしても最下行を常に...
-
ピボットを更新すると数式が入...
-
エクセル、リソース不足エラー...
-
スナックの経費をエクセルの集...
-
Excel : 二通りの合計が合わな...
-
ExcelVBAでの転記処理エラーに...
-
Excelで特定セルのみ足し算する...
-
アンケートの集計
-
ピボットテーブル作成後、集計...
-
エクセル2003店舗ごとの集計方法
-
Excelの集計結果だけをコピー貼...
-
並び替え後の合計処理の方法が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【エクセル】オートフィルタで...
-
エクセルで特定の色の数字だけ...
-
ピボットテーブルでは時間の表...
-
フィルタをしても最下行を常に...
-
VBAで重複する項目を1つにまと...
-
アンケートの集計
-
ピボットを更新すると数式が入...
-
複数のピボットテーブルを一括...
-
ピボットの集計方法「合計」初...
-
EXCEL 重複データの集計の仕方
-
いい機能だけど、毎回めんどく...
-
エクセル、リソース不足エラー...
-
excelで集計の合計を降順に並べ...
-
エクセルの小計を自動的に色づ...
-
VLOOKUP関数とCOUNT関数等の組...
-
ピボットテーブルで同じデータ...
-
エクセル 関数を使った横方向の...
-
Excel : 二通りの合計が合わな...
-
ピボットテーブルのページエリ...
-
EXCELで増減率を計算したいです
おすすめ情報