Excel VB将行从1张工作表复制到另一张工作表,基于满足的2个条件



我没有VBA经验。我正在尝试使用IF语句来满足标记为Master的工作表上的行中的两个条件。标准是如果列D="0";"活动"&列E=";西班牙语";,我想将该一路领先复制到标记为西班牙语的工作表,但我不希望列D&E复制到西班牙语表上。

以下是我正在做的工作,但我一直在编译错误。我做错了什么?

Sub TransferValues()
Dim Emp1a As String, Emp1b As String
With Worksheet("Sheet1")
If .Range("D2:D30") = "Active" And .Range("E2:E30") = "Spanish"
Emp1a = .Range("B2:C30")
Emp1b = .Range("F2:I30")
End With

Sheet2.Range("B2:C30") = Emp1a
Sheet2.Range ("D2:G30") - Emp1b

Debug.Print Emp1a
Debug.Print Emp1b

End Sub

对于if语句,您似乎正在使用一个块,因为您有两件事要在所以语法是

if <condition> then
<statements for true>
else (optionally)
<statements for false> (optionally)
end if

所以你需要一个";那么";在if行的末尾;如果"结束";,在结束前的线路上。

在";表2.范围("D2:G30"(-Emp1b";你的意思是用减号而不是=吗?

你能把错误和发生错误的行号公布出来吗?

最新更新