VBA:Excel如何复制,包括格式和间距
现在,我正在做这个从一张纸复制一行到另一张纸,并在最后插入:
Sheets("Monthly").Range("A1").EntireRow.Copy Destination:= _ Sheets(Name).Range("A" & rows.Count).End(xlUp).Offset(1)
但是这不会复制任何格式/单元格间距。 在vba中可以做到吗?
Copy
会复制格式。 也许你的格式不是你的想法。 我不知道单元格间距是什么意思,但是如果是列宽,那么Copy
不会复制。 你必须明确地设置,就像
For i = 1 to rSrce.Cells.Count rDest.Cells(i).EntireColumn.ColumnWidth = rSrce.Cells(1).EntireColumn.ColumnWidth Next i
使用macroslogging器将为您提供其他格式的语法。
Range("A1").NumberFormat = "General"
要么
.PasteSpecial Paste:=xlPasteFormats .PasteSpecial Paste:=xlPasteValues
防爆。 一种方法来解决它
Sub Copy() Dim ws As Worksheet Set ws = Worksheets("Sheet1") ws.Range("A1").EntireColumn.Copy With ws.Range("G2").EntireColumn .PasteSpecial Paste:=xlPasteFormats .PasteSpecial Paste:=xlPasteValues End With End Sub
有一百万种方法来做这个尝试