
タイトル 発売日
タイトルA 1月1日
タイトルB 1月2日
タイトルC 1月2日
タイトルD 2月1日
タイトルE 2月10日
タイトルF 3月3日
タイトルG 3月20日
タイトルH 3月21日
タイトルI 3月21日
:
タイトルZ 12月31日
というデータがあるとします。
これを一月単位(1月=3件、2月=2件、3月=4件、…12月)で集計したいのです。
どのようにVBAで記述すればいいのでしょか。
for文で、
Sub test()
For 1月 To 12月
if(1月発売日 == ゲーム発売日) Then
1月カウント合計 = 1月カウント合計 + 1
End if
Next
End Sub
で書けばいいかなと思っているのですが、
(1)For文の1月から12月の各月カウント記述方法が不明
(2)if文で、1月1日~1月31日 が 1月発売日の条件と一致させて、「 1月カウント合計 = 1月カウント合計 + 1」
カウントさえる記述方法が不明。
どなたかご教授お願いします。
No.1ベストアンサー
- 回答日時:
ただ1月と言っても、今年の1月と去年の1月を一緒に集計しちゃいたいんですか。
みたいな突っ込みはまぁ置いておいて。
sub macro1()
dim y as integer
dim m as integer
dim res(12) as long
y = 2014
worksheets("Sheet1").select
for m = 1 to 12
res(m) = application.countif(range("B:B"), ">=" & dateserial(y,m,1)) - application.countif(range("B:B"), ">=" & dateserial(y,m+1,1))
cells(m, "C") = format(dateserial(y,m,1), "yyyy年m月")
cells(m, "D") = res(m)
next m
end sub
#それともこーいうのがいいのなら、こんなでも。
sub macro2()
dim y as integer
dim r as long
dim res(12) as long
dim h as range
y = 2014
worksheets("Sheet1").select
for r = 2 to range("B65536").end(xlup).row
if isdate(cells(r, "B")) then
res(month(cells(r, "B"))) = res(month(cells(r, "B"))) + 1
end if
next r
for r = 1 to 12
cells(r, "E") = res(r)
next r
end sub
こーいうのだと全データを一個一個舐めまわしてくので、当然遅いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- Excel(エクセル) IF 関数で「〇〇 という文字を含む場合」の分岐処理で表示された数字はSUMで数字集計できますか? 3 2022/08/02 16:29
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- 雇用保険 失業保険給付の条件について 1 2022/05/27 14:15
- Excel(エクセル) 【関数】ハイフン(-)を月や日に変えたい。スペースを削除したい。 4 2023/07/12 08:49
- Excel(エクセル) VBA EOMonthについて 5 2023/02/10 11:51
- ハローワーク・職業安定所 失業保険での2年間の定義 2 2023/02/24 21:16
- Visual Basic(VBA) Sheet1の出荷日と品名が並んだ表からSheet2の品名別出荷日別の個数一覧表を作っています。 オ 3 2022/12/01 23:54
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
- Visual Basic(VBA) 【VBA】先月分の取得ができない理由が分かりません。 2 2022/04/24 11:16
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カレンダーの日付 5/Bの意味に...
-
自治会の通常総会の年度について
-
月の最後の週の呼び名は?
-
10月をもって辞めるって、10...
-
エクセルのフィルターを複数シ...
-
確認ですが普通5月までに決める...
-
入社が2月1日とした場合、3ヶ月...
-
「6月まで」というのは6月以内...
-
総会の年度表記について
-
8月までっていつまでのことでし...
-
「1年以上」の定義について
-
ExcelVBAで質問です。Workbook_...
-
定年になる年度を関数で算出したい
-
何故か毎年3月や4月に不運が続...
-
すでにコピーした情報を貼り付...
-
月度ってどういう意味ですか
-
○月第○週 の数え方について
-
○年後の3月末日を関数で出したい
-
昔は何歳くらいからお酒を飲ん...
-
エクセルファイルで指定期間に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
自治会の通常総会の年度について
-
月の最後の週の呼び名は?
-
10月をもって辞めるって、10...
-
カレンダーの日付 5/Bの意味に...
-
ひな祭りに外食するならどこで...
-
確認ですが普通5月までに決める...
-
総会の年度表記について
-
エクセルのフィルターを複数シ...
-
入社が2月1日とした場合、3ヶ月...
-
昔は何歳くらいからお酒を飲ん...
-
「1年以上」の定義について
-
学校の在籍機関
-
「6月まで」というのは6月以内...
-
8月までっていつまでのことでし...
-
昔の愛称?「~の字」
-
月度ってどういう意味ですか
-
定年になる年度を関数で算出したい
-
「なんで付き合おうと思ったか...
-
「今年度」って『今・年度』?...
-
VBA ユーザーフォームのChange...
おすすめ情報