[英]VBA Excel copy cells range from another workbook to active workbook
[英]How Do You Copy Range of Cells Until Last Row from Another Workbook in Excel VBA
我正在尝试复制一定范围的单元格,直到我的主工作簿已打开并激活的另一个工作簿的最后使用的行。 范围需要从C2开始直到列M,然后直到第一空白行。
到目前为止,我编写的代码复制了正确的单元格列,但向下延伸到使用过的行上方,变成空白行。 我已经附上了截图。 将复制的单元格粘贴到主工作簿中成功。
Workbooks.Open ("C:\Users\user\Documents\Maintenance Department\General\Equipment Documentation\Holding Furnace\Readings\Data Logs\Flow Sensor Monthly Alarm Log - Inductor.xlsx")
ThisWorkbook.Activate
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
Workbooks("Flow Sensor Monthly Alarm Log - Inductor.xlsx").Worksheets("Sheet1").Range("C2:M2" & LastRow).Copy
ThisWorkbook.Sheets("Data").Range("C" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
尝试使用Workbook
和Worksheet
对象而不是Activate
:
Dim WB As Workbook
Dim DestSht As Worksheet
Dim SourceSht As Worksheet
Set DestSht = ThisWorkbook.Worksheets("Data")
Set WB = Workbooks.Open("C:\Users\user\Documents\Maintenance Department\General\Equipment Documentation\Holding Furnace\Readings\Data Logs\Flow Sensor Monthly Alarm Log - Inductor.xlsx")
Set SourceSht = WB.Worksheets("Sheet1")
LastRow = SourceSht.Cells(Rows.Count, "A").End(xlUp).Row
SourceSht.Range("C2:M" & LastRow).Copy
DestSht.Range("C" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.