我对VBA很新。我试图用1个工作簿中的数据复制行并将其插入另一个工作簿。源具有变量#行。目标只有10个可用行,后跟Merged单元格。
我的目标是:计算源行数,从中减去10,结果将是在粘贴之前要在目标工作簿中插入的行数。
示例:32个源行(变化) - 10个目标行(固定)= 22个要插入目标WB的行,将合并的单元格向下推。如果结果为< = 10,则只需粘贴而不插入。
谢谢!
答案 0 :(得分:3)
这样的事情:
Sub Test()
Dim sourceRange As Range, destinationRange As Range
Dim rowsToInsert As Long
With ThisWorkbook.Worksheets("Sheet1")
Set sourceRange = .Range(.Range("A1"), .Cells(.Rows.Count, "A").End(xlUp))
End With
Set destinationRange = Workbooks("SomeBook.xlsx").Worksheets("Sheet1").Range("A1")
rowsToInsert = Application.Max(sourceRange.Rows.Count - 10, 0)
If rowsToInsert > 0 Then destinationRange.Resize(rowsToInsert, 1).EntireRow.Insert
sourceRange.EntireRow.Copy Destination:=destinationRange
End Sub