excel - 通过列中的多个条件将数据从一个工作表复制到另一个工作表
问题描述
我有一个包含数据的工作表,另一个包含该字段中的过滤词。我的代码在 SheetFilt 中的标准字 E2:E10 上将数据从工作表“数据”复制到工作表 2。现在它只适用于 E2 Cell 中的一个标准。如何使用范围 E2:E10 (或范围名称)
Sub Copy()
Dim i, LastRow
LastRow = Sheets("Data").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Sheet2").Cells.Clear
Worksheets("Data").Rows(1).Copy Destination:=Worksheets("Sheet2").Rows(1)
For i = 2 To LastRow
If InStr(Sheets("Data").Cells(i, "H"), Sheets("SheetFilt").Range("E2")) <> 0 Then
Sheets("Data").Cells(i, "A").EntireRow.Copy Destination:=Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1)
End If
Next i
End Sub
我想使用范围 E2:E10 而不是 E2,类似这样(但这以错误结束)
If InStr(Sheets("Data").Cells(i, "H"), Sheets("SheetFilt").Range("E2:E10")) <> 0
我怎么能意识到它?
解决方案
试试这个:
Sub Copy()
Dim i, j, LastRow as Long
LastRow = Sheets("Data").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Sheet2").Cells.Clear
Worksheets("Data").Rows(1).Value = Worksheets("Sheet2").Rows(1).Value
For i = 2 To LastRow
For j = 2 to 10
If InStr(Sheets("Data").Cells(i, 8), Sheets("SheetFilt").Cells(j, 5)) <> 0 Then
Sheets("Sheet2").Cells(1, Rows.Count).End(xlUp).Offset(1).Value = _
Sheets("Data").Cells(i, 1).EntireRow.Value =
End If
Next j
Next i
End Sub
如果有任何错误,我只是想遵循您的“想法”,如果有问题请告诉我。
希望能帮助到你
推荐阅读
- python - 如何应用一种方法来计算熊猫中一个值之间的零值的数量?
- spring-boot - java.lang.StackOverflowError(Cyclic Reference) 与 JPA 和 Mapstruct
- vpn - Windows 同时运行两个 VPN 客户端
- python - 以抖动和大小为变量在python中绘图
- reactjs - Firestore Timestamp 获取不等于特定日期的集合文档
- php - PHP:如何使用 HTTP-Basic 身份验证发出 GET 请求
- r - R-GBM | 数据使训练有素的 GBM 模型非常繁重
- r - 在 R 编程中,any 和 | 有什么区别?(或)布尔运算符?
- google-apps-script - 如何在谷歌日历插件上获取输入值?
- java - java - 如何在不使用数组的情况下找到java字符串中的最短单词?