2017-01-16 12 views
0

申し訳ありませんが、私はたくさんのマクロを試してきました。私は解決策を探すべきか分からない。 F(最大20.000行可能性がありheathers &の下に行くことをA2から開始):VBA:オートフィルターで範囲をコピーして既存のシートにコピー

  • は私が「ABC」私は範囲Aにユーザーによってinputedデータを持っているという名前のシートを持っています。コラムGIで
  • が基準(はい/いいえ)

だから私は(ペーストの値は&整形を維持する)すべての行をコピーしたいを持っている:Fここで、G =「はい」という名前の別のシートに " ANAF ANG "を指定された範囲(同じA:F、A2を開始する)に変換する。

注:データがコピーされる最初のシートは、完了後にフィルタをクリアする必要があります。

どのように?

答えて

0

あなたはこのコメントのコードを使用することができます。Excelマクロ記録を使用して、最初からVBAスクリプトを書くしようとしないでください

Sub main() 
    With Sheets("ABC") '<--| reference your sheet 
     With .Range("G1", .Cells(.Rows.Count, 1).End(xlUp)) '<--| reference its column "A:G" range from row 1 down to column "A" last not empty row 
      .AutoFilter Field:=7, Criteria1:="yes" ''<--| filter referenced range on its 7th column (i.e. column "G") with "yes" values 
      If Application.WorksheetFunction.Subtotal(103, .Resize(, 1)) > 1 Then .Resize(.Rows.Count - 1, 6).Offset(1).SpecialCells(xlCellTypeVisible).Copy Destination:=Worksheets("ANAF ANG").Range("A2") 
     End With 
     .AutoFilterMode = False 
    End With 
End Sub 
+0

ありがとうございます。私は自分自身をばかだと宣言します。 :) – MisterA

+0

あなたは大歓迎です。良いコーディング! – user3598756

0

を。インタラクティブに結果を達成する方法が分かっている場合は、必要なコードが作成されます。コードにまだ満足していない場合は、それを調整することができます.-リファレンスマニュアルを数時間読むだけで、始めることができます。

+0

私はそれを試してみましょう。ありがとうございました。今までそれを試していない、私は管理することを願っています。私は自分自身に知らせる。 – MisterA

+0

[ユーザーの操作]を最小限に抑えてください(https://support.office.com/en-us/article/Move-or-copy-rows-and-columns-3ebbcafd-8566-42d8-8023-a2ec62746cfc)。 – marabu

関連する問題