下面是一些VBA代码
Set L060 = Workbooks("L060.xlsx").Worksheets("Sheet1")
Set wsDest = Workbooks("Variation_week" & WeekFolder & ".xlsm").Worksheets("RM consumption")
SelectionL060 = L060.Cells(L060.Rows.Count, "A").End(xlUp).Row
Adestination = wsDest.Cells(wsDest.Rows.Count, "A").End(xlUp).Offset(2).Row
L090.Range("A2:M" & SelectionL060).Copy _
wsDest.Range("A" & Adestination)
Workbooks("L060.xlsx").Close SaveChanges:=False如果不在Copy和wsDest之间添加下划线,为什么L060.Range("A2:M" & SelectionL060).Copy _ wsDest.Range("A" & Adestination)不起作用?实际上,如果你不添加它,在Range和("A" & Adestination)之间会自动出现一个空格,导致代码失败。
而L060.Range("A2:M" & SelectionL060).Copy wsDest.Range("A" & Adestination).PasteSpecial Paste:=xlPasteValue工作得很好,没有任何下划线?
发布于 2020-11-10 19:06:51
下划线只是一个行连续字符,这意味着下一行实际上仍然是初始行的一部分。所以这就是:
L090.Range("A2:M" & SelectionL060).Copy _
wsDest.Range("A" & Adestination)与以下内容相同:
L090.Range("A2:M" & SelectionL060).Copy wsDest.Range("A" & Adestination)其中,目标范围是传递给Copy方法的参数。当您使用Copy和PasteSpecial时,它们实际上是两个单独的命令,这就是为什么它们位于不同的行上。
https://stackoverflow.com/questions/64767640
复制相似问题