1

私はこれを自分でやろうとしていて、グーグルをトロールしましたが、VBAの知識が不足しています。あなたが何をしているのかを知っていれば、それは非常に簡単だと確信しています:

シート 1 はメインのスプレッドシートです 列 B はクエリ列です

列 B のセルが「X」に等しい場合、条件付き書式を含め、行全体をシート 2 にコピーします。

これを自動的に行い、シート 2 のデータを更新または上書きします (タイトルがある行 1 を除く)。

したがって、基本的にシート 2 には、列 B = "X" であるシート 1 のすべての行の正確なコピーが常に含まれている必要があります。

どんな助けでも大歓迎です!

4

1 に答える 1

2

データがシート 1 の A1 で始まると仮定すると、このマクロはそれをシート 2 に転送し、最初の行を除くシート 2 のすべてを上書きします。

Sub FilterAndCopy()
Dim sht1 As Worksheet, sht2 As Worksheet

Set sht1 = Sheets("Sheet1")
Set sht2 = Sheets("Sheet2")

intersect(sht2.UsedRange,sht2.rows("2:" & rows.count)).ClearContents

sht1.Cells(1, 1).CurrentRegion.AutoFilter
sht1.Cells(1, 1).CurrentRegion.AutoFilter 1, "X"
sht1.Cells(1, 1).CurrentRegion.Offset(1).SpecialCells(xlCellTypeVisible).EntireRow.Copy sht2.Cells(2, 1)
sht1.Cells(1, 1).CurrentRegion.AutoFilter

End Sub
于 2012-10-12T17:36:43.220 に答える