アプリ版:「スタンプのみでお礼する」機能のリリースについて

会社で契約書の終了日を見て、終了日の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利用

「ExcelのVBAを使ってタイトル行が2」の質問画像

A 回答 (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
    • good
    • 0
この回答へのお礼

こちらのやり方で、無事に希望のものが出すことができました!
ありがとうございます。

下の行にフィルタをかければいいのでは?と思いついたのですが、まだまだマクロ勉強中ですぐに思いつかず…
すぐの回答をいただけ、大変助かりました。ありがとうございました。

お礼日時:2016/06/07 10:08

もともと、基本的なオートフィルタの使い方をしていないのですから、マクロを使って、オートフィルタを使いたいとか言っても無理ではないでしょうか。



>タイトル行が2行ある場合のVBAの書き方
そういう書き方というのはないと思います。

FとG の結合セル部分を戻して、5行目の間隔を広げ、添付図のように、テキストボックスを組み合せ、契約日と終了日の書式を下に下げれば同じようになるはずです。

Excel は、本来、データベースの機能を持っていますが、イレギュラーに使い方は、反応しないのです。
「ExcelのVBAを使ってタイトル行が2」の回答画像1
    • good
    • 0
この回答へのお礼

アドバイスありがとうございました。
やはり正しい使い方ではないので、簡単にはいかないですよね。

私が作っているファイルではなく、こういったことできないかと相談されたもので勝手に形式を変更できず悩んでこちらに相談しました。
今後のためにも、教えていただいた方法などをしてオートフィルターそのものを利用するのにも、見出しは1行で作ったほうがいい旨伝えてみようかと思います。
ありがとうございました。

お礼日時:2016/06/07 10:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A