
エクセルで別ブックで作成してあるカレンダーから、稼働日を判断して指定した期間の日付をオートフィルターを使って抽出したいのですが、うまくいきません。
このようなコードを記述しましたが、別ブックでオートフィルターを使用する事はできるのでしょうか?
Dim book1 As Workbook '変数book1をワークブック型で宣言
Dim book2 As Workbook '変数book2をワークブック型で宣言
Dim today As Date
Set book1 = Application.ActiveWorkbook 'アクティブになっているブックをbook1へセット
Application.ScreenUpdating = False '画面の更新を止める
'↓アドレスのブックを開く事までbook2にセット(ReadOnly:=Trueで読み込み専用)
Set book2 = Application.Workbooks.Open("\\sv\C1\\稼働日カレンダー.xls", ReadOnly:=True)
today = Date
maxdate = cdate("2014/3/3")
' book2.Worksheets("DATA").Cells.Copy Destination:=book1.Worksheets("Sheet1").Range("A1")
'----オートフィルタでデータを抽出
With book2.Worksheets("Sheet1").Range("A1").CurrentRegion
.AutoFilter
.AutoFilter Field:=1, Criteria1:=">=" & today, Operator:=xlAnd, Criteria2:="<=" & maxdate
' .AutoFilter Field:=2, Criteria1:="=" & 1
'----抽出データをコピー&貼り付け
.Copy ActiveSheet.Range("A" & maxrow)
.AutoFilter
End With
' Range("A1").Select
Application.ScreenUpdating = True
Set book1 = Nothing '変数book1を開放
book2.Close SaveChanges:=False 'book2を閉じる(SaveChanges:=Falseで保存せずに終了)
Application.ScreenUpdating = True '画面の更新を再開する
Set book2 = Nothing '変数book2を開放
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
あとね、ペーストが無いよ。
copyしただけじゃダメ。クリップボードへコピーした「内容」をどこかに「貼付」しないと。
Endwithの次行がソレだったんだろうけど。
再度、「マクロの記録」でコードを自動生成させたほうが良さそう。
No.1
- 回答日時:
まず、option Explicitを書く習慣着ける。
maxdateは何でどこで宣言した?book1は不要。自ブックは ThisWorkbook でOK
さらに使わないまま、Nothingに行きついてる。Endwithの次行のRange(”A1”)でしょ。
なぜコメントアウトしたの?
ScreenUpdating=Falseは最後で良い。F8キー押下のステップ実行でデバッグしてから
bin-chan様。
有難うございました!なんとかできました!
すみません。
このコーディングは、全体の一部だったので、宣言部分等は不完全でした。
時間がなかったので、とりあえずで中途半端なものを書いてしまい申し訳ありませんでした。
次に利用する際は、しっかりしたものを書くようにします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Exel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について
Visual Basic(VBA)
-
マクロ オートフィルタの検索値を所定のセルから参照
Excel(エクセル)
-
Excelオートフィルタで複数のセルの値を参照して抽出したい
Excel(エクセル)
-
-
4
エクセルのフィルターを複数シートに連動させたいです。 エクセルファイルに15シートあります。 そのう
Excel(エクセル)
-
5
Excel VBAでオートフィルタで抽出したデータの一部だけ貼り付けるには(第2弾)
Excel(エクセル)
-
6
VBA 前月の月の名前でブックを保存
その他(Microsoft Office)
-
7
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
8
VBAのautofilter、criteriaの配列指定について(Excel2016)
Excel(エクセル)
-
9
vba フィルター 複数条件 3つ以上 完全一致除外
Visual Basic(VBA)
-
10
Excel VBAでのオートフィルターについて教えてください。 日付データからフィルターで今日を起点
Visual Basic(VBA)
-
11
表にフィルターをかけ、絞ったデータ(可視化セルのみ)を一次元配列として変数に入れるという動作を書きた
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで別ブックのシートを指定し...
-
別ブックをダイアログボックス...
-
Excelファイルを開くとき、読み...
-
VBA 別ブックからコピペしたい...
-
Excel マクロ ファイルと同じシ...
-
VBA シートをコピーする際に Co...
-
VBA コードを実行すると画面が...
-
【ExcelVBA】インデックスが有...
-
オブジェクトは、このプロパテ...
-
EXCELのブック名を引数(変数)...
-
Excelマクロ 該当する値の行番...
-
【Excel VBA】書き込み先ブック...
-
異なるブック間でのセル範囲の...
-
vbaでvbaProjectのパスワード解...
-
新しく開いたブックをアクティ...
-
EXCEL2013 シート内容を別ブッ...
-
VBA 実行時エラー 2147024893
-
VBA 特定のユーザーのみパス...
-
エクセルVBAが途中で止まります
-
エクセルマクロで、他ブックか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のエクセルファイルとシー...
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
VBA 別ブックからコピペしたい...
-
エクセルVBAが途中で止まります
-
ワイルドカード「*」を使うとう...
-
VBAで別のブックにシートをコピ...
-
VBA コードを実行すると画面が...
-
VBAで別ブックのシートを指定し...
-
【ExcelVBA】zip圧縮されたCSV...
-
【Excel VBA】書き込み先ブック...
-
2つ目のコンボボックスが動作...
-
[Excel]ADODBでNull変換されて...
-
Excelマクロ 該当する値の行番...
-
VBA 実行時エラー 2147024893
-
Excelのマクロコードについて教...
-
Excel にて、 リストボックスの...
-
【ExcelVBA】インデックスが有...
-
VBA アプリケーション定義また...
-
【Excel VBA】表の列の値毎に分...
おすすめ情報