Excel 使用IF条件在不同工作簿中从一个工作表复制到另一个工作表
我正在尝试将一行中的一个范围从一个工作表复制到不同工作簿中的另一个工作表,在列“a”中使用“如果”条件,例如 如果列“A”等于“H”,则从范围“B”到“DJ”从test.xls/worksheet1复制到test1.xls/worksheet1中的“A1” 否则,如果列“A”等于“D”,则从范围“B”到“C”从test.xls/worksheet1复制到test1.xls/worksheet1中的“A1” 我只成功地将第一个范围复制到test1.xls/worksheet1,但尝试了几种条件方法来执行第二个范围。我似乎做不到 我的代码:Excel 使用IF条件在不同工作簿中从一个工作表复制到另一个工作表,excel,vba,Excel,Vba,我正在尝试将一行中的一个范围从一个工作表复制到不同工作簿中的另一个工作表,在列“a”中使用“如果”条件,例如 如果列“A”等于“H”,则从范围“B”到“DJ”从test.xls/worksheet1复制到test1.xls/worksheet1中的“A1” 否则,如果列“A”等于“D”,则从范围“B”到“C”从test.xls/worksheet1复制到test1.xls/worksheet1中的“A1” 我只成功地将第一个范围复制到test1.xls/worksheet1,但尝试了几种条件方法
`Sub OpenAndCopy()
Dim wbCopy As Workbook
Dim wsCopy As Worksheet
Dim rngCopy As Range
Dim wbPaste As Workbook
Dim wsPaste As Worksheet
Dim rngPaste As Range
Dim lRow As Long
Dim lCol As Long
Set wbCopy = Workbooks.Open("C:\TEMP\TEST.XLS") 'change path
Set wsCopy = wbCopy.Worksheets("Sheet1")
lRow = Cells(Rows.Count, 1).End(xlUp).Row
lCol = Cells(1, Columns.Count).End(xlToLeft).Column
Set rngCopy = wsCopy.Range("BK")
Set wbPaste = Workbooks("TEST1.XLS")
Set wsPaste = wbPaste.Worksheets("Sheet1") 'paste to different sheet?
Set rngPaste = wsPaste.Range("A1") 'change this if needed
rngCopy.Copy
rngPaste.PasteSpecial
wbCopy.Close
End Sub`
感谢您对我所能提供的任何意见和帮助/帮助,以便插入正确的VBA,从而无误地完成操作。非常感谢。您是否在几行中循环检查A列的内容?为什么您的代码引用BK?是的,我可能需要遍历几行来检查A列的内容。A列中只有2行-“H”和“D”。事实上,“BK”不是我列出的正确数字,它是“B:C”,抱歉在上面的评论中说得不对,BK实际上是A=“H”列的“B:DK”,A=“D”列的“B:C”。