VBA:Excel如何复制,包括格式和间距
现在,我这样做是为了将一行从一张图纸复制到另一张图纸,并将其插入末尾:VBA:Excel如何复制,包括格式和间距,excel,vba,Excel,Vba,现在,我这样做是为了将一行从一张图纸复制到另一张图纸,并将其插入末尾: Sheets("Monthly").Range("A1").EntireRow.Copy Destination:= _ Sheets(Name).Range("A" & rows.Count).End(xlUp).Offset(1) 但这不会复制任何格式/单元格间距。在vba中可以这样做吗 使用宏记录器将为您提供其他格式的语法 Range("A1").NumberF
Sheets("Monthly").Range("A1").EntireRow.Copy Destination:= _
Sheets(Name).Range("A" & rows.Count).End(xlUp).Offset(1)
但这不会复制任何格式/单元格间距。在vba中可以这样做吗 使用宏记录器将为您提供其他格式的语法
Range("A1").NumberFormat = "General"
或
一个解决方法的例子
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
有一百万种方法可以做到这一点
使用宏记录器将为您提供其他格式的语法
Range("A1").NumberFormat = "General"
或
一个解决方法的例子
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
有一百万种方法可以做到这一点
复制不会复制格式。也许你的格式不是你想的那样。我不知道单元格间距是什么意思,但如果它是列宽,那么Copy不会复制它。你必须明确地设置它,比如
For i = 1 to rSrce.Cells.Count
rDest.Cells(i).EntireColumn.ColumnWidth = rSrce.Cells(1).EntireColumn.ColumnWidth
Next i
复制不会复制格式。也许你的格式不是你想的那样。我不知道单元格间距是什么意思,但如果它是列宽,那么Copy不会复制它。你必须明确地设置它,比如
For i = 1 to rSrce.Cells.Count
rDest.Cells(i).EntireColumn.ColumnWidth = rSrce.Cells(1).EntireColumn.ColumnWidth
Next i
我认为你的行为不规范。您使用的是哪个Excel版本?我得到Range类的Copy方法失败:@PortlandRunnerI我认为您没有遇到标准行为。您使用哪个Excel版本?我获取范围类的复制方法失败:@PortlandRunnerI获取范围类的复制方法失败。知道吗?在我的范围定义的末尾。看起来您找到了答案,但我编辑了我的,作为将来的参考。虽然我猜更复杂。我得到的范围类的复制方法失败了。在我的范围定义的末尾。看起来你找到了答案,但我编辑了我的,作为将来的参考,作为另一种方式。虽然我觉得更复杂。啊,我以为列宽是格式的一部分,谢天谢地,我不知道为什么不是。啊,我以为列宽是格式的一部分,谢天谢地,我不知道为什么不是。