このコードでは、(Sladeに感謝します)フィルタリングされた範囲をコピーして別のシートに貼り付けます。しかし、私はHAAシートに別のフィルタリングされた範囲を追加することによってこのコードを複製しようとしましたが、何らかの理由で行11を選択してデータをペーストします。フィルタリングされた範囲をシートに追加する
Sub Run()
Application.ScreenUpdating = False
Dim x As Long
Dim rf As Range, wsTo As Worksheet, wx As Range
Set rf = ThisWorkbook.Sheets("Table").UsedRange
Set wsTo = Sheets("HAA")
Set wx = ThisWorkbook.Sheets("HAA").UsedRange
x = Range("B" & Rows.Count).End(xlUp).Row
rf.AutoFilter
rf.AutoFilter 12, "associated"
rf.Copy
wsTo.Range("A1").PasteSpecial xlPasteValues
rf.AutoFilter
rf.AutoFilter 12, "not found"
rf.Offset(1, 0).Copy
私は、最後の行の後に貼り付けるには、もともと.PasteSpecial xlPasteValues
wsTo.Range("A1" & x).Select
Application.ScreenUpdating = True
End Sub
(例えば** x **)から?最初に利用可能な空白セルを取得するためにオフセットしないのはなぜですか?例えば'x = wsTo.Range(" B "&Rows.Count).End(xlUp).OFFSET(1、0).Row'' 'wsTo.Range(" A "&x).Select' 。 – Jeeped
入力と希望の結果の例をいくつか追加しますか? – user3598756
@Jeeped x = wsTo.Range( "A"&Rows.Count).End(xlUp).Offset(1、0).Row これで、既存のデータに貼り付けられます。 – FonR