Excel 基于多个单元格值复制整行

Excel 基于多个单元格值复制整行,excel,excel-2007,vba,Excel,Excel 2007,Vba,我试图复制两个值为空的整行,第三个单元格值为MS-NORT, 下面是我的代码,但我遇到了语法错误 请帮忙 Set MK = Sheets("data dump").Range("P1:Q5000") For Each cell In MK If cell.Value = "" And Sheets("Data Dump").Range("M1:M5000") <> "MS-NORT" Then cell.EntireRow.copy Sheets("working data").

我试图复制两个值为空的整行,第三个单元格值为
MS-NORT

下面是我的代码,但我遇到了语法错误

请帮忙

Set MK = Sheets("data dump").Range("P1:Q5000")
For Each cell In MK

If cell.Value = "" And Sheets("Data Dump").Range("M1:M5000") <> "MS-NORT" 
Then cell.EntireRow.copy
Sheets("working data").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial
End If
Application.CutCopyMode = False
Next 
Set MK=Sheets(“数据转储”).范围(“P1:Q5000”)
对于MK中的每个单元格
If cell.Value=“”和表(“数据转储”).Range(“M1:M5000”)“MS-NORT”
然后是cell.EntireRow.copy
工作表(“工作数据”)。范围(“A”和行数)。结束(xlUp)。偏移量(1,0)。粘贴特殊
如果结束
Application.CutCopyMode=False
下一个

我不太清楚您所说的“其中两个值为空,第三个单元格值为MS-NORT”是什么意思

我假设您要检查每一行,如果M列“MS-NORT”和p列和Q列都为空,则复制该行。这段代码可以做到这一点

Sub test()
Dim rngRow As Range, MK As Range, lngrow As Long
Dim varCheckCol1 As Variant, varCheckCol2 As Variant, varCheckCol3 As Variant

Set MK = Sheets("data dump").Range("M1:Q5000")
For Each rngRow In MK.Rows

  varCheckCol1 = rngRow.Value2(1, 1) 'col M
  varCheckCol2 = rngRow.Value2(1, 4) 'col P
  varCheckCol3 = rngRow.Value2(1, 5) 'col Q

  If IsEmpty(varCheckCol2) And IsEmpty(varCheckCol3) And varCheckCol1 <> "MS-NORT" Then
     rngRow.EntireRow.Copy
     Sheets("working data").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial
  End If

Next

End Sub
子测试()
Dim RN作为范围增长,MK作为范围增长,LN作为长度增长
Dim varCheckCol1作为变型,varCheckCol2作为变型,varCheckCol3作为变型
设置MK=图纸(“数据转储”)。范围(“M1:Q5000”)
对于每个RNG,以MK.行为单位增长
varCheckCol1=rngRow.Value2(1,1)'colm
varCheckCol2=rngRow.Value2(1,4)'colp
varCheckCol3=rngRow.Value2(1,5)“列Q
如果IsEmpty(varCheckCol2)和IsEmpty(varCheckCol3)以及varCheckCol1“MS-NORT”,则
rngRow.EntireRow.Copy
工作表(“工作数据”)。范围(“A”和行数)。结束(xlUp)。偏移量(1,0)。粘贴特殊
如果结束
下一个
端接头

语法错误具体在哪一行?如果cell.Value=“”和Sheets(“Data Dump”).Range(“M1:M5000”)“MS-NORT”更新了答案,请查看。