我是VBA的新手。 我有3张:'星期日','coords'和'过滤'。 我想检查工作表'Sunday'的'A'列是否等于'coords'表中'J'列中的任何值。 如果为TRUE - 复制“已过滤”表格中的行。
到目前为止,我尝试了以下代码:
Sub CopyRow()
Dim lastRow As Long
Dim sheetName1 As String
Dim sheetName2 As String
Dim sheetName3 As String
sheetName1 = "Sunday" 'Insert your sheet name here
sheetName2 = "coords"
sheetName3 = "filtered"
lastRow = Sheets(sheetName1).Range("A" & Rows.Count).End(xlUp).Row
For lRow = 2 To lastRow 'Loop through all rows
If Sheets(sheetName1).Cells(lRow, "A") = Sheets(sheetName2).Cells(lRow, "J") Then
c.EntireRow.Copy Worksheets(sheetName3).Range("A" & Rows.Count).End(xlUp).Offset(1)
End If
Next lRow
End Sub
非常感谢任何帮助
答案 0 :(得分:1)
如果要检查列J
的任意行中是否存在值,请尝试以下操作:
If Application.CountIf(Sheets(sheetName2).Columns("J"), Sheets(sheetName1).Cells(lRow, "A").Value2) > 0 Then
Sheets(sheetName3).Range("A" & Rows.count).End(xlUp).offset(1).EntireRow.Value = Sheets(sheetName1).Rows(lRow).Value2
End If