
会社で契約書の終了日を見て、終了日の3か月前になったらそのデータを別シートに抽出できるようにマクロを考えています。
マクロの記録といろいろ調べ、一度下記のマクロを作成し、テストしたところうまくいったのですが、本番環境でマクロを利用したところエラーが出て利用ができませんでした。
テスト環境と本番環境で大きく違うのが、タイトル行(画像だと4-5行目)が2行になっており、ほとんどのセルでセルの結合がされているとこかと思います。
普通にオートフィルターをかえても4行目(上の行)にフィルターがかかってしまい、5行目でオートフィルターが利用できません。(一度解除してやり直してみましたが、結果は同じ4行目にフィルターがかかりました)
Sub 更新確認マクロ()
'
Selection.AutoFilter
Range("A4").CurrentRegion.AutoFilter Field:=11, Criteria1:="Check"
Range("A4").CurrentRegion.Copy Sheets("Sheet2").Range("A1")
Selection.AutoFilter
これをタイトル行が2行ある場合のVBAの書き方などヒントも含めあれば教えていただけないでしょうか。
VBA初心者でいくつか調べてみたのですが、どれもうまくいかず。。。
よろしくお願いします。
Windows7/Excel2010利用

No.2ベストアンサー
- 回答日時:
見出しの下の行にフィルタをかければ、いけるのでは…。
こんな感じです。
Sub 更新確認マクロ()
'
Rows(5).AutoFilter
Range("A4").CurrentRegion.AutoFilter Field:=11, Criteria1:="Check"
Range("A4").CurrentRegion.Copy Sheets("Sheet2").Range("A1")
Selection.AutoFilter
End Sub
こちらのやり方で、無事に希望のものが出すことができました!
ありがとうございます。
下の行にフィルタをかければいいのでは?と思いついたのですが、まだまだマクロ勉強中ですぐに思いつかず…
すぐの回答をいただけ、大変助かりました。ありがとうございました。
No.1
- 回答日時:
もともと、基本的なオートフィルタの使い方をしていないのですから、マクロを使って、オートフィルタを使いたいとか言っても無理ではないでしょうか。
>タイトル行が2行ある場合のVBAの書き方
そういう書き方というのはないと思います。
FとG の結合セル部分を戻して、5行目の間隔を広げ、添付図のように、テキストボックスを組み合せ、契約日と終了日の書式を下に下げれば同じようになるはずです。
Excel は、本来、データベースの機能を持っていますが、イレギュラーに使い方は、反応しないのです。

アドバイスありがとうございました。
やはり正しい使い方ではないので、簡単にはいかないですよね。
私が作っているファイルではなく、こういったことできないかと相談されたもので勝手に形式を変更できず悩んでこちらに相談しました。
今後のためにも、教えていただいた方法などをしてオートフィルターそのものを利用するのにも、見出しは1行で作ったほうがいい旨伝えてみようかと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 前回質問の続きになりますが、下記マクロでシート1からシート2の抽出項目セルB3「りんご」とセルC2「 2 2022/12/02 17:37
- Visual Basic(VBA) Sheet2の日付をキーにオートフィルターで2023年1月のデータを抽出し、Sheet3へ書き出すた 2 2023/03/06 23:57
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Visual Basic(VBA) ExcelVBA ドロップボックスで月を選択するとそれ以降のデータが残るようにしたい。 3 2022/12/16 14:53
- Visual Basic(VBA) エクセルVBAコピー 2 2022/06/08 21:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
エクセルVBAでオートフィルター最上行を取得するには
Excel(エクセル)
-
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
-
4
エクセルのオートフィルタで最初の数行を残してフィルタをしたい
Excel(エクセル)
-
5
Excel VBAでオートフィルタで抽出した列データを別シートの最終行にコピーするには
Visual Basic(VBA)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
8
excel VBA 2つのシートの特定の列を比較して同じ値のセルがあったらその行を上書きしたい
Excel(エクセル)
-
9
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
10
Excel2000/VBA:値と書式のみ貼り付けたい。
Excel(エクセル)
-
11
VBAのオートフィルターで該当行がない場合に処理を止めたい
Excel(エクセル)
-
12
どうやってもFor文を抜けてしまいます…(VBA)
Excel(エクセル)
-
13
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
14
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
15
VBAマクロ実行時エラーの修正について
Visual Basic(VBA)
-
16
UserForm1.Showでエラーになります。
工学
-
17
VBAでのフィルタについて(空白行の削除)
Excel(エクセル)
-
18
Excelオートフィルタで複数のセルの値を参照して抽出したい
Excel(エクセル)
-
19
【Excel VBA】取り込んだファイルのファイル名を取得するには?
Visual Basic(VBA)
-
20
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
一つのTeratermのマクロで複数...
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
Excel_マクロ_現在開いているシ...
-
エクセルに張り付けた写真のフ...
-
メッセージボックスのOKボタ...
-
ExcelのVBA。public変数の値が...
-
IF関数を使ってマクロを実行さ...
-
オートフィルターとExcelマクロ...
-
ExcelVBAでPDFを閉じるソース
-
バッチファイルでEXCELを起動し...
-
Excel マクロ VBA プロシー...
-
Excelのセル値に基づいて図形の...
-
マクロ実行時、ユーザーフォー...
-
ExcelのVBAを使ってタイトル行...
-
EXCELマクロでのThisisWor...
-
ダブルクリックで貼り付けた画...
-
非表示の列をすべて削除するマクロ
-
Excel マクロでShearePoint先の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
一つのTeratermのマクロで複数...
-
Excel_マクロ_現在開いているシ...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
エクセルで別のセルにあるふり...
-
ExcelVBAでPDFを閉じるソース
-
ダブルクリックで貼り付けた画...
-
Excel マクロでShearePoint先の...
-
TERA TERMを隠す方法
-
マクロ実行時、ユーザーフォー...
-
Excelのセル値に基づいて図形の...
-
特定文字のある行の前に空白行...
-
エクセルマクロでワードの一ペ...
-
エクセルで縦に並んだデータを...
-
Excel VBAからAccessマクロを実...
おすすめ情報