如何使用excel VBA将excel选项卡的格式复制并粘贴到选定工作表以外的其他选项卡

如何使用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(

我想将工作表的格式粘贴到excel中的其他选项卡上,但使用excel VBA的部分选项卡除外。由于我的标签每天都在变化,我希望我的代码将格式复制并粘贴到所选“格式”工作表右侧的工作表上。我该怎么做?我想做一个循环,但我不能绕着头去做

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,如果它没有按预期工作,请告诉我。谢谢,格式很好,但我的数字和公式丢失了