![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
下記のコードの日付の2011の箇所を2010/6/01~2012/4/01といったように月単位での条件にしたいのですが
どこをどうやって変えればいいですか?お詳しい方よろしくお願いします。
Sub カウント2012()
Dim dic As Object
Dim lastRow As Long
Dim r As Long
Dim key As String
Set dic = CreateObject("Scripting.Dictionary")
lastRow = Range("A" & Rows.Count).End(xlUp).Row
For r = 2 To lastRow
If Year(Cells(r, "C").Value) = 2011 Then
key = Range("A" & r).Value & Chr(0) & Range("W" & r).Value
If Not dic.exists(key) Then 'キー値が無ければ
dic.Add key, 1 'キーを追加して、値(個数)を1に
Else '既にキー値があれば
dic(key) = dic(key) + 1 'そのキーの値(個数)+1
End If
End If '★追加
Next
'表示
For r = 2 To lastRow
key = Range("A" & r).Value & Chr(0) & "1" '探す値はA列注目行の値+"1"(間にchr(0))
Range("FV" & r).Value = dic(key)
Next
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは。
C列が正しく日付値ならば、ですが、
If Year(Cells(r, "C").Value) = 2011 Then
End If
の部分を以下のいづれかに替えてみたらよいかと。
' ' =========================
If Cells(r, "C").Value >= #6/1/2010# And Cells(r, "C").Value <= #4/1/2012# Then
End If
' ' =========================
Dim dtTgt As Date
dtTgt = Cells(r, "C").Value
If dtTgt >= #6/1/2010# And dtTgt <= #4/1/2012# Then
End If
' ' =========================
Const DT_MIN = #6/1/2010#
Const DT_MAX = #4/1/2012#
Dim dtTgt As Date
dtTgt = Cells(r, "C").Value
If dtTgt >= DT_MIN And dtTgt <= DT_MAX Then
End If
' ' =========================
Dim dtMin As Date
Dim dtMax As Date
Dim dtTgt As Date
dtMin = #6/1/2010# ' 日付値が指定出来れば方法は問わず。
dtMax = #4/1/2012# ' 同上
dtTgt = Cells(r, "C").Value
If dtTgt >= DT_MIN And dtTgt <= DT_MAX Then
End If
' ' =========================
尚、変数を宣言する場合はプロシージャの先頭に書いてください。念の為。
以上です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) ExcelVBAで、index、match関数を使用して、指定範囲に出力したい 3 2022/10/18 21:53
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
マクロ 特定のセル値のみクリ...
-
PL/SQLでのTO_DATEの時間取得に...
-
ExcelでGaussian fittingをした...
-
変数名の取得
-
VB初心者。小数点以下の表示で...
-
vbscriptを使いexcelを参照して...
-
C#の質問です
-
【C++/CLI.NET】コンボボックス...
-
IP Address Controlから値を取...
-
代入したのに値が更新されない...
-
VBAでWEB上の入力項目に値をい...
-
setcookieで「path」に複数の値...
-
RGB値をL*a*b*に変換したい
-
VB.NET 自作プロパティが変更さ...
-
VB2008 iniファイルの指定セク...
-
ユーザーフォームのテキストボ...
-
midiのデルタタイムについて
-
Dbtypeって?
-
Excel VBAのリストボックスの値...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
ハッシュテーブル(連想配列)が...
-
Excel VBAのリストボックスの値...
-
マクロ 特定のセル値のみクリ...
-
PysimpleGUIでデータベースを作る
-
VB.NETでコンボボックスの1行目...
-
変数名の取得
-
power BI クエリエディター 〇...
-
VB初心者。小数点以下の表示で...
-
PL/SQLでのTO_DATEの時間取得に...
-
【C++/CLI.NET】コンボボックス...
-
値を返さないコード パス
-
Powershellのparamについて
-
Excel VBA 複数選択したリスト...
-
DataTableに対するLINQについて
-
ユーザーフォームのテキストボ...
-
C# get set
-
変数に代入してある数値を表示...
-
VBAでWEB上の入力項目に値をい...
-
VB.NETでアクティブなformを知...
おすすめ情報