我正在更新每周主文件。因此,我正在尝试将源文件中的数据复制并粘贴到主工作表中。现在,需要将数据粘贴到上周数据之后的列和行。因此,例如,如果上周数据结束(" H70:M70"),我需要将新粘贴的数据转到(" H71:M71")。此外,新粘贴的数据有很多行,因此必须在本周数据的最后一行/列之后粘贴nexts周数据,即(" H230:M230")。请帮忙。
Option Explicit
Sub Copydata()
Dim myWB As Workbook
Dim thisWB As Workbook
Dim thisWS As Worksheet
Application.ScreenUpdating = False
Set myWB = Workbooks.Open("C:\Users\jjordan\Desktop\test.xlsx")
myWB.Sheets("Sheet1").Range("A8:F17").Copy
Set thisWB = ThisWorkbook
Set thisWS = thisWB.Sheets("Test data")
thisWB.Activate
thisWS.Range("H71:M71").PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
With Application
.CutCopyMode = False
.ScreenUpdating = True
End With
myWB.Close
End Sub
答案 0 :(得分:1)
詹姆斯,你熟悉VBA中的End()
吗?
lastRow = ActiveSheet.Cells(Rows.Count,1).End(xlUp).Row
这将转到工作表第1列中的最后一个可能的单元格,然后一直向上,直到找到包含数据的单元格并返回相应的行。
End()
的其他可能参数是xlDown,xlToLeft和xlToRight。它们可用于查找最后/第一列和行。