
会社で契約書の終了日を見て、終了日の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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
エクセルVBAでオートフィルター最上行を取得するには
Excel(エクセル)
-
エクセルのオートフィルタで最初の数行を残してフィルタをしたい
Excel(エクセル)
-
-
4
Excel VBAでオートフィルタで抽出した列データを別シートの最終行にコピーするには
Visual Basic(VBA)
-
5
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
8
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
9
Excelオートフィルタで複数のセルの値を参照して抽出したい
Excel(エクセル)
-
10
複数指定セルの可視セルのみを別シートに転記するVBAについて
Visual Basic(VBA)
-
11
excel VBA 2つのシートの特定の列を比較して同じ値のセルがあったらその行を上書きしたい
Excel(エクセル)
-
12
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
-
13
Excelで数値→文字列変換で指数表示になったものをいっぺんに直したい
Excel(エクセル)
-
14
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
15
Excel2000/VBA:値と書式のみ貼り付けたい。
Excel(エクセル)
-
16
どうやってもFor文を抜けてしまいます…(VBA)
Excel(エクセル)
-
17
VBAのオートフィルターで該当行がない場合に処理を止めたい
Excel(エクセル)
-
18
【VBA】特定列に文字が入っていたらそのセル行をコピーしてマスターブックの同じ行に貼り付けたい
その他(Microsoft Office)
-
19
【Excel VBA】取り込んだファイルのファイル名を取得するには?
Visual Basic(VBA)
-
20
VBAでの Replace関数で、ワイルドカードは使えないのでしょうか?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excel_マクロ_現在開いているシ...
-
Excel マクロでShearePoint先の...
-
ExcelのVBA。public変数の値が...
-
エクセルで縦に並んだデータを...
-
エクセルに張り付けた写真のフ...
-
Excel VBAからAccessマクロを実...
-
Excelのセル値に基づいて図形の...
-
特定文字のある行の前に空白行...
-
wordを起動した際に特定のペー...
-
WORD テキストボックスを全ペ...
-
Excel 改ページのVBAうまくい...
-
Excel マクロ VBA プロシー...
-
ピボットテーブルでの毎回可変...
-
UWLSの記録でマクロを作成し使...
-
エクセルで別のセルにあるふり...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
メッセージボックスのOKボタ...
-
Excel_マクロ_現在開いているシ...
-
一つのTeratermのマクロで複数...
-
マクロの連続印刷が突然不可能...
-
ExcelのVBA。public変数の値が...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
エクセルに張り付けた写真のフ...
-
Excelのセル値に基づいて図形の...
-
TERA TERMを隠す方法
-
マクロ実行時エラー
-
ExcelVBAでPDFを閉じるソース
-
wordを起動した際に特定のペー...
-
特定文字のある行の前に空白行...
-
Excel マクロでShearePoint先の...
-
エクセルで縦に並んだデータを...
-
マクロ実行時、ユーザーフォー...
-
ソース内の行末に\\
おすすめ情報