如何在excel vba中复制格式化?
当我使用VBA复制我需要的大部分内容时,请遵循。除了列的宽度和行的高度之外,我怎样才能将其包括在内呢?我正在使用这个代码:如何在excel vba中复制格式化?,excel,vba,Excel,Vba,当我使用VBA复制我需要的大部分内容时,请遵循。除了列的宽度和行的高度之外,我怎样才能将其包括在内呢?我正在使用这个代码: Set wk = ThisWorkbook Dim template As String template = Sheets("Data").Range("EU12").Value wk.Sheets("Data").Range("A1:BA1000").Copy wk.Sheets(template).Range("A1") 我尝试了这一点(当然没有“当然”,但这会
Set wk = ThisWorkbook
Dim template As String
template = Sheets("Data").Range("EU12").Value
wk.Sheets("Data").Range("A1:BA1000").Copy wk.Sheets(template).Range("A1")
我尝试了这一点(当然没有“当然”,但这会给我一个400错误消息:
'Columns("A:BA").Select
' Selection.Copy
' Sheets("jan 20").Select
' Columns("A:BA").Select
' Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
' SkipBlanks:=False, Transpose:=False
' Application.CutCopyMode = False
也许你可以试试这样的东西
xlPasteColumnWidths
:
根据XlPasteType=xlPasteColumnWidths
时的文档,仅粘贴复制范围的列宽
TheRangeThatYouWantToCopy.Copy
TheRangeWhereYouWantToPaste.Parent.Activate
TheRangeWhereYouWantToPaste.PasteSpecial xlPasteColumnWidths
TheRangeWhereYouWantToPaste.PasteSpecial xlPasteFormats
Application.CutCopyMode = False
希望这有帮助,请不要犹豫给我留下反馈,这样我可以改进这个答案
也许您可以尝试接收这样的行:
ActiveSheet.UsedRange.Rows.Autofit
或
您是否尝试录制宏以执行此操作?阅读第二段代码也会让您受益匪浅,我尝试的是录制宏。我会看看这是否有帮助!@Nick您是否尝试使用其他
XlPasteType
正如我建议您添加如何包含行高,我尝试只添加另一行,但更改了行高“columnwidth”改为“rowheigts”,但收到一条错误消息!(结果表明,我并不需要该函数)@尼克,因为rowheigts
不是XlPasteType
@尼克,如果你现在不使用它,我可以请你接受这个回答事件吗?谢谢,你会这样做来包括rowheigts吗?我可能需要它。可能使用xlPasteAllUsingSourceTheme
Rows("1:50").RowHeight = 25