现在,我这样做是为了将一行从一张纸复制到另一张纸并在最后插入:
Sheets("Monthly").Range("A1").EntireRow.Copy Destination:= _
Sheets(Name).Range("A" & rows.Count).End(xlUp).Offset(1)
但是这不会复制任何格式/单元格间距。这可以在vba中做到吗?
答案 0 :(得分:4)
Copy
会复制格式。也许你的格式不是你的想法。我不知道单元格间距是什么意思,但如果它是列宽,那么Copy
将不会复制它。你必须明确地设置它,比如
For i = 1 to rSrce.Cells.Count
rDest.Cells(i).EntireColumn.ColumnWidth = rSrce.Cells(1).EntireColumn.ColumnWidth
Next i
答案 1 :(得分:1)
使用宏录制器将为您提供其他格式的语法。
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
有一百万种方法可以尝试