如何使用excel VBA将excel选项卡的格式复制并粘贴到选定工作表以外的其他选项卡
我想将工作表的格式粘贴到excel中的其他选项卡上,但使用excel VBA的部分选项卡除外。由于我的标签每天都在变化,我希望我的代码将格式复制并粘贴到所选“格式”工作表右侧的工作表上。我该怎么做?我想做一个循环,但我不能绕着头去做如何使用excel VBA将excel选项卡的格式复制并粘贴到选定工作表以外的其他选项卡,excel,vba,Excel,Vba,我想将工作表的格式粘贴到excel中的其他选项卡上,但使用excel VBA的部分选项卡除外。由于我的标签每天都在变化,我希望我的代码将格式复制并粘贴到所选“格式”工作表右侧的工作表上。我该怎么做?我想做一个循环,但我不能绕着头去做 Dim WshSrc As Worksheet Dim WshTrg As Worksheet Set WshSrc = ThisWorkbook.Worksheets("Format") Set WshTrg = ThisWorkbook.Worksheets(
Dim WshSrc As Worksheet
Dim WshTrg As Worksheet
Set WshSrc = ThisWorkbook.Worksheets("Format")
Set WshTrg = ThisWorkbook.Worksheets("02.09.19")
WshSrc.Cells.Copy
With WshTrg.Cells
.PasteSpecial Paste:=xlPasteColumnWidths
.PasteSpecial Paste:=xlPasteFormats
.PasteSpecial Paste:=xlPasteFormulasAndNumberFormats
Application.CutCopyMode = False
End With
Tried this:
Dim rs As Worksheet
Sheets("Format").Select
Selection.Copy
For Each rs In ThisWorkbook.Worksheets
If rs.Name <> "Base" And rs.Name <> "Format" Then
ActiveSheet.Paste
End If
Next rs
Dim WshSrc作为工作表
将WshTrg设置为工作表
设置WshSrc=ThisWorkbook.Worksheets(“格式”)
设置WshTrg=thishworkbook.Worksheets(“02.09.19”)
WshSrc.Cells.Copy
使用WshTrg.Cells
.Paste特殊粘贴:=xlPaste柱宽
.Paste特殊粘贴:=xlPasteFormats
.Paste特殊粘贴:=XLPaste公式和数字格式
Application.CutCopyMode=False
以
我试过这个:
将遥感器作为工作表
工作表(“格式”)。选择
选择,复制
用于此工作簿中的每个rs。工作表
如果rs.Name“Base”和rs.Name“Format”,则
活动表。粘贴
如果结束
下一个rs
试试这个
Sub CopyFormat()
Dim WshSrc As Worksheet
Dim WshTrg As Worksheet
On Error Resume Next
Set WshSrc = ThisWorkbook.Worksheets("Format")
On Error GoTo 0
If WshSrc Is Nothing Then
MsgBox "Cannot find Worksheet 'Format'", vbOKOnly
Exit Sub
End If
WshSrc.Cells.Copy
For Each WshTrg In ThisWorkbook.Worksheets
If WshTrg.Name <> "Base" And WshTrg.Name <> "Format" Then
WshTrg.Cells.PasteSpecial xlPasteFormats
WshTrg.Cells.PasteSpecial xlPasteColumnWidths
End If
Next WshTrg
Set WshSrc = Nothing
End Sub
Sub-CopyFormat()
将WshSrc设置为工作表
将WshTrg设置为工作表
出错时继续下一步
设置WshSrc=ThisWorkbook.Worksheets(“格式”)
错误转到0
如果WshSrc什么都不是,那么
MsgBox“找不到工作表“格式”,仅vbOKOnly
出口接头
如果结束
WshSrc.Cells.Copy
用于此工作簿中的每个WshTrg。工作表
如果WshTrg.Name“Base”和WshTrg.Name“Format”,则
WshTrg.Cells.paste特殊XLPaste格式
WshTrg.Cells.paste特殊XLPaste列宽度
如果结束
下一个WshTrg
设置WshSrc=Nothing
端接头
为什么不循环使用此工作簿.Sheets
并使用If
语句排除您不想复制的工作表?我尝试了底部代码,如何更改它?而不是和使用或
。如果rs.Name“Base”或rs.Name“Format”然后
No不要使用或
,因为当rs.Name
是两者之一或两者都不是时,结果将始终为真!我将为您重新编写这篇文章,请继续关注。@Hanish Kiran-我必须修复代码格式和PasteSpecial,如果它没有按预期工作,请告诉我。谢谢,格式很好,但我的数字和公式丢失了