我有一个由4列和不确定行组成的列表。我正在尝试仅收集B列和C列,其中B列包含单词Jackpot并将其复制到新的工作表中。我已经得到要排序的列表,但是使用UsedRange复制所有行。我如何只复制B和C?

Range("A1").Activate
ActiveCell.EntireRow.Insert
Rows("1:1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=2, Criteria1:="Jackpot"

ActiveSheet.UsedRange.Select




Col A | Col B |      Col C | Col D
1       Stuff          1       1
1       MoreStuff      2       1
1       Jackpot        3       1
1       Jackpot        4       1
1       SomeStuff      5       1
1       Jackpot        6       1

最佳答案

首先切入,尽管我确实有一些问题:

Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Results")
ws.Rows(1).AutoFilter Field:=2, Criteria1:="Jackpot"
ws.Range("B2:C2", Range("B2:C2").End(xlDown)).Copy
ThisWorkbook.Worksheets("DestinationSheet").Range("A1").PasteSpecial


1)这是否会在同一张纸上每次发生(例如Worksheets("Results"))?
2)您是否要包括标题行?如果是这样,则在两种情况下都将.Copy行更改为B1:C1。当前的实现只获取没有标题的过滤内容。

显然,您需要更改工作表名称以匹配您的实现。

07-24 20:28