我有一个由 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
。当前的实现只获取过滤后的内容,不带标题。
显然,您需要更改工作表名称以匹配您的实现。
关于Vba:根据文本选择多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13715245/