
質問です。
VBAを学び始めたばかりで全然わからなくなってしまいました。。。。。
オートフィルターでデータを抽出。
別シートに張り付け
最終行に小計行を入れる。
またオートフィルターで再抽出。
別シートの最終行の下に張り付け
……
を繰り返し行いたいのですが、
どうも、1回目の抽出データを何度も張り付けてしまいます。。
なんででしょうか?
教えて頂けると大変助かります。
よろしくお願い致します。
下記 私が作ったVBAです。
Sub フィルタ()
Sheets("sheet2").Select
Sheets("Sheet2").Range("A1").AutoFilter field:=9, Criteria1:="USD"
Sheets("Sheet2").Range("A1").AutoFilter field:=4, Criteria1:="<>"
Sheets("Sheet2").Range("A1").AutoFilter field:=1, Criteria1:="A", operator:=xlOr, Criteria2:="B"
Range("A1").CurrentRegion.Copy Sheets("Sheet3").Range("A1")
Worksheets("sheet2").Range("A1").AutoFilter
Sheets("sheet3").Select
Dim n As Long
n = Cells(Rows.Count, "I").End(xlUp).Row + 1
Range("I" & n).Select
ActiveCell.FormulaR1C1 = "小計"
Sheets("sheet2").Range("A1").AutoFilter field:=1, Criteria1:="C"
Range("A1").CurrentRegion.Copy Sheets("sheet3").Cells(Rows.Count, 1).End(xlUp).Offset(2, 0)
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは
2度目のコピーの際に、
>Range("A1").CurrentRegion.Copy~~
となさっていますが、コピー元の対象シートはSheet3になっていると思います。
(省略した場合、Activesheetとみなされる)
この結果、1度目にコピーされた内容を再コピーするようになっているものと思います。
複数のシートを扱う場合は、シートを明示する習慣をつけておいたほうがよろしいでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA オートフィルタで抽出したものを連続貼り付け
その他(Microsoft Office)
-
VBA・オートフィルタで抽出・貼り付けをFor~Nextで実現するには?
Excel(エクセル)
-
Excelオートフィルタで複数のセルの値を参照して抽出したい
Excel(エクセル)
-
-
4
マクロ オートフィルタの検索値を所定のセルから参照
Excel(エクセル)
-
5
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
6
エクセルVBAでオートフィルター最上行を取得するには
Excel(エクセル)
-
7
オートフィルタのリストを順番に印刷できるマクロ
Windows Vista・XP
-
8
Excel VBAでオートフィルタで抽出した列データを別シートの最終行にコピーするには
Visual Basic(VBA)
-
9
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
10
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
vba フィルター 複数条件 3つ以上 完全一致除外
Visual Basic(VBA)
-
13
IFS関数の場合で、セルが空白の場合は何も表示しないようにする方法
Excel(エクセル)
-
14
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
15
VBA 別ブックからコピペしたいのですが、軽くしたいです
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VBA】特定の文字で改行(次の...
-
【エクセル】オプションボタン...
-
ThisWorkbookのオブジェクトが...
-
実行時エラー'1004': WorkSheet...
-
ユーザーフォームに入力したデ...
-
オートシェイプの文字が更新さ...
-
Excel VBA 大量のレコードから...
-
Access エクセルシート名変更
-
EXCELVBAを使ってシートを一定...
-
EXCEL VBA:シートの右クリック...
-
IFステートの中にWithステート...
-
【Excel VBA】Worksheets().Act...
-
VBA 検索して一致したセル...
-
Excelのマクロコードについて教...
-
userFormに貼り付けたLabelを変...
-
シート名をフォルダ名に変更
-
ExcelVBAから,引数を渡してVBs...
-
vba 貸出管理台帳
-
原本シート複写してリストの氏...
-
実行時エラー1004「Select メソ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
特定の文字を含むシートだけマ...
-
実行時エラー'1004': WorkSheet...
-
ユーザーフォームに入力したデ...
-
【ExcelVBA】全シートのセルの...
-
エクセルVBA Ifでシート名が合...
-
実行時エラー1004「Select メソ...
-
VBA 存在しないシートを選...
-
エクセルで通し番号を入れてチ...
-
VBA 検索して一致したセル...
-
XL:BeforeDoubleClickが動かない
-
VBA 指定した回数分、別シート...
-
VBAマクロでシートコピーした新...
-
シートが保護されている状態で...
-
ブック名、シート名を他のモジ...
-
【VBA】全ての複数シートから指...
-
別のシートから値を取得するとき
-
ExcelのVBAのマクロで他のシー...
-
Excel チェックボックスにチェ...
おすすめ情報