任何帮助都会受到极大的欢迎。
我试图编写将一系列单元格从一个工作簿复制到另一个工作簿的vba代码。目标文件处于活动状态,并在A列中包含日期;这用于打开源文件(文件名包含日期),然后复制单元格并从源文件粘贴到目标文件中。如果我手动指定目标范围,代码可以正常工作,如下所示:
x.Sheets("Sheet1").Range("B4:D4").Copy Destination:=y.Sheets("Sheet1").**Range("B5")**
然而;我希望目标范围是动态的......我希望它与活动单元格相同。我已经以各种方式对其进行了修改,但仍无法找到解决方案:
Sub OpenWb()
Dim FileDate As Date
Dim x As Workbook
Dim y As Workbook
Application.ScreenUpdating = False
FileDate = ActiveCell.Offset(0, -1)
'Define x and open y
Set y = ActiveWorkbook
Set x = Workbooks.Open("C:\Users\yatesa\Documents\" & Format(FileDate, "dd-mm-yy") & " Production Data.xlsx")
'Transfers values from x to y
x.Sheets("Sheet1").Range("B4:D4").Copy Destination:=y.Sheets("Sheet1").**Range(ActiveCell)**
'Close x
x.Close
End Sub
非常感谢。
答案 0 :(得分:0)
非常感谢您的投入;我现在已经解决了这个问题。打开源文件时,活动单元焦点丢失了......可能很明显;但我昨晚无法看到它。我添加了一行来存储目标活动单元格,然后能够重新调用它。我将在今天晚些时候为那些可能感兴趣的人重新发布代码。再次感谢!