
添付した画像の様な表があり、ここからEセルからHセルにフィルタをかけて「支社」がA社で「出資額」の列がブランク以外で「記載日時」が今月のものに絞り込みを行い表示された内容を別セルにコピーしたいのですがうまくいきません。
使用しているExcelは2000の為、xlFilterThisMonthなどは使えません。
また、自力で調べて以下のようなコードを書いてみたのですが、型が一致しません とエラーが出てしまいます。
どうか、ご教授願えませんでしょうか?
ちなみに記載日時はマクロで登録ボタンを押すと「Now」が yyyy/dd/mm/ H:mmで入るようになっております。
Sub 記載()
Dim 今月
今月 = DateSerial(Year(Date), Month(Date), "*")
With Sheets("一覧表")
.AutoFilterMode = False
.Range("D5:H5").AutoFilter
.Range("D5:H5").AutoFilter Field:=5, Criteria1:="<>"
.Range("D5:H5").AutoFilter Field:=2, Criteria1:=今月
.Range("D5:H5").AutoFilter Field:=3, Criteria1:="A社"
.Range(.Range("E6"), .Range("H15")).SpecialCells(xlCellTypeVisible).Copy.Range ("C5")
.AutoFilterMode = False
End With
End Sub

No.1ベストアンサー
- 回答日時:
こんにちは
>型が一致しません とエラーが出てしまいます。
どこで発生しているかわかりませんが、推測するところでは
>今月 = DateSerial(Year(Date), Month(Date), "*")
ではないかと思います。
DateSerialの引数は全て数値でなくてはなりませんので、文字列の"*"が「型が違う」ということでしょう。
https://docs.microsoft.com/ja-jp/office/vba/lang …
フィルターとして今月を指定するためのようなので、わざわざ変数に入れる必要もなさそうですね。
オートフィルターで日付型の値で絞り込む仕様がイマイチ明確に説明されていませんが、
https://docs.microsoft.com/ja-jp/office/vba/api/ …
試してみたところ、 Criteria2にArray(n, Date)形式で指定すれば良いみたいです。
(nの値は、「0:年、1:月、2:日」単位での絞り込み指定となるらしいです)
…ということで、少し手を加えてこんな感じではいかがでしょうか?
最後にコピーを行おうとしている部分が、具体的に何をしたいのかわからないので、ここに関しては修正できませんでした。
(ひとまず、コメント化してありますので、コピーは実行されません。
とは言え、範囲指定の記述法は、.Range("E6:H15") で十分かと想像します。)
Sub 記載()
With Worksheets("一覧表")
.AutoFilterMode = False
With .Range("D5:H5")
.AutoFilter Field:=5, Criteria1:="<>"
.AutoFilter Field:=2, Operator:=xlFilterValues, Criteria2:=Array(1, Date)
.AutoFilter Field:=3, Criteria1:="A社"
End With
' .Range("E6:H15").SpecialCells(xlCellTypeVisible).Copy.Range ("C5")
.AutoFilterMode = False
End With
End Sub
ありがとうございました!
返事遅れて申し訳ございません。
ログインパスワード分からなくなってしまい、右往左往しておりました。
おかげ様で無事に表が出来ました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 前回質問の続きになりますが、下記マクロでシート1からシート2の抽出項目セルB3「りんご」とセルC2「 2 2022/12/02 17:37
- Visual Basic(VBA) エクセルVBAコピー 2 2022/06/08 21:45
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Visual Basic(VBA) Sheet2の日付をキーにオートフィルターで2023年1月のデータを抽出し、Sheet3へ書き出すた 2 2023/03/06 23:57
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 09:24
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Excel(エクセル) ExcelVBAについて。 2 2022/12/10 20:08
- Visual Basic(VBA) excelVBAについて。 4 2022/11/21 16:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数指定セルの可視セルのみを...
-
【VBA】【ユーザーフォーム_Lis...
-
特定の色のついたセルを削除
-
Excel UserForm の表示位置
-
エクセル VBA ボタンをクリック...
-
C# DataGridViewで複数選択した...
-
Excelで空白セル直前のセルデー...
-
【VBA】写真の貼り付けコードが...
-
VBA にて、条件付き書式で背景...
-
VBAマクロ実行時エラーの修正に...
-
EXCEL VBA 1つのセル内の文字に...
-
For~Next ループ内でUnionメソ...
-
ListBoxを選択したデータ編集② ...
-
【ExcelVBA】値を変更しながら...
-
DataGridViewでグリッド内に線...
-
飛び地セルの空白判定
-
昨日、質問した件『VBA にて、...
-
VBAでユーザーフォームにセル値...
-
Excel VBA IF文がうまく動作し...
-
CellEnterイベント仕様について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
Excel UserForm の表示位置
-
特定の色のついたセルを削除
-
Excelで空白セル直前のセルデー...
-
エクセルVBA 配列からセルに「...
-
【VBA】【ユーザーフォーム_Lis...
-
VBA:日付を配列に入れ別セルに...
-
複数指定セルの可視セルのみを...
-
C# DataGridViewで複数選択した...
-
【Excel VBA】マクロで書き込ん...
-
データグリッドビューの結合セ...
-
DataGridViewのフォーカス遷移...
-
Excel 範囲指定スクショについ...
-
【Excel VBA】一番右端セルまで...
-
EXCEL VBA 文中の書式ごと複写...
-
【VBA】写真の貼り付けコードが...
-
QRコード作成マクロについて
-
入力規則のリスト選択
-
CellEnterイベント仕様について
-
エクセル、マクロで番号を読込...
おすすめ情報