我一直试图这样做一段时间不断遇到障碍。
我在Excel中有一个包含5列数据的工作表:A,B,C,D&即
我有另一列F,它有一些数据。
我想要的是一个公式或宏,以便我可以找到B列中F列的所有值,并只将整行(A,B,C,D& E)复制到一个新的表格中(或者只是丢弃所有其他值。)
我尝试了一个公式并删除了错误行,但它混淆了数据。
有什么想法吗?
答案 0 :(得分:0)
据我了解,您有以下数据
将C列与B
进行比较A B C
Row 1 Value 1 Value 3
Row 2 Value 2 Value 5
Row 3 Value 3 Value 8
Row 4 Value 4 Value 3
Row 5 Value 5 Value 5
Row 6 Value 6 Value 8
Row 7 Value 7 Value 3
Row 8 Value 8 Value 5
Row 9 Value 9 Value 8
你想要在sheet2中得到结果
A B
Row 3 Value 3
Row 5 Value 5
Row 8 Value 8
尝试以下代码
Sub Macro1()
Dim Counter As Long
Dim lastRow As Long
lastRow = 10
Dim arrColF(10) As String
Sheets("Sheet1").Select
For Counter = 1 To lastRow Step 1
arrColF(Counter - 1) = Sheet1.Cells(Counter, 3).Value
Next Counter
arrStr = Join(arrColF, ", ")
Dim strRange As String
For Counter = 1 To lastRow Step 1
If InStr(1, arrStr, Sheet1.Cells(Counter, 2).Value & ", ") > 0 Then
strRange = strRange & "A" & Counter & ":B" & Counter
If Trim(strRange) <> "" Then strRange = strRange & ","
End If
Next Counter
strRange = Left(strRange, Len(strRange) - 1)
Sheet1.Range(strRange).Select
Selection.Copy
Sheets("Sheet2").Select
Range("A1").Select
ActiveSheet.Paste
End Sub