如何根据条件使用Excel VBA复制行
我想根据一列中的以下条件将行从一张图纸复制到另一张图纸:如何根据条件使用Excel VBA复制行,excel,vba,Excel,Vba,我想根据一列中的以下条件将行从一张图纸复制到另一张图纸: 如果一行在列中包含值“AB”,则将该行复制到工作表中,但如果下一行在同一列中具有相同的值,则忽略该行并继续 如果一行在列中包含值“NULL”,则将该行复制到工作表中-此处没有限制 我已经写了一些逻辑,但它不起作用-以下是相关的代码片段: If wks.Range("N" & CStr(LSearchRow)).Value = "NULL" Or Not _ wks.Range("N" & CStr(LSearchRow))
If wks.Range("N" & CStr(LSearchRow)).Value = "NULL" Or Not _
wks.Range("N" & CStr(LSearchRow)).Value = optionCode Then
'Select row in master to copy
Rows(CStr(LSearchRow) & ":" & CStr(LSearchRow)).Select
Selection.Copy
'Paste row into new worksheet in next row
wksCopyTo.Select
wksCopyTo.Rows(CStr(LCopyToRow) & ":" & CStr(LCopyToRow)).Select
wksCopyTo.Paste
optionCode = wks.Range("N" & CStr(LSearchRow)).Value
'Move counter to next row
LCopyToRow = LCopyToRow + 1
'Remove blank rows
wksCopyTo.Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
'Go back to Master Sheet to continue searching
wks.Select
End If
有人能帮忙吗?这里有一个小个子,您可以将范围引用和复制工作表上的行传递到该子文件夹中,这样就可以了。如果您不知道如何将其合并,请稍微扩展一下代码,我将向您展示如何将其合并
Sub copyrow(rng As Range, LCopyToRow As Long)
If rng = vbNullString Then rng.EntireRow.Copy wksCopyTo.Cells(LCopyToRow, 1)
If rng.Offset(1) <> rng Then rng.EntireRow.Copy wksCopyTo.Cells(LCopyToRow, 1)
End Sub
Rows(CStr(LSearchRow) & ":" & CStr(LSearchRow)).Copy wksCopyTo.Rows(CStr(LCopyToRow) & ":" & CStr(LCopyToRow))