使用VBA将一张excel工作表的格式复制到另一张excel工作表
是否可以使用VBA将一张excel工作表的格式复制到另一张工作表 像手动操作一样,我们可以选择整个工作表,然后单击“格式”按钮。然后选择其他工作表并复制格式。是否可以通过代码来完成 谢谢和问候使用VBA将一张excel工作表的格式复制到另一张excel工作表,vba,excel,excel-formula,Vba,Excel,Excel Formula,是否可以使用VBA将一张excel工作表的格式复制到另一张工作表 像手动操作一样,我们可以选择整个工作表,然后单击“格式”按钮。然后选择其他工作表并复制格式。是否可以通过代码来完成 谢谢和问候 沙希尔·乔杜里绝对是。下面是示例代码 看 在下面找到完整代码,以粘贴名为“源”的工作表的格式,包括颜色、列宽、行高、注释、数据验证,,但内容除外(值、公式)将单元格添加到同一工作簿中的所有其他工作表,不包括作为数组的工作表列表 Option Explicit Sub Wsh_PasteSpecial_T
沙希尔·乔杜里绝对是。下面是示例代码 看
在下面找到完整代码,以粘贴名为“源”的
工作表的格式,包括颜色、列宽、行高、注释、数据验证,
,但内容除外(值、公式
)将单元格添加到同一工作簿中的所有其他工作表
,不包括作为数组的工作表列表
Option Explicit
Sub Wsh_PasteSpecial_Test()
Dim aWshExcluded As Variant, vWshExc As Variant
aWshExcluded = Array("Exclude(1)", "Exclude(2)")
Dim WshSrc As Worksheet
Dim WshTrg As Worksheet
Rem Set Source Worksheet
Set WshSrc = ThisWorkbook.Worksheets("Source")
Application.ScreenUpdating = 0
Rem Process All Worksheets
For Each WshTrg In WshSrc.Parent.Worksheets
Rem Exclude Worksheet Source
If WshTrg.Name <> WshSrc.Name Then
Rem Validate Worksheet vs Exclusion List
For Each vWshExc In aWshExcluded
If WshTrg.Name = vWshExc Then GoTo NEXT_WshTrg
Next
Rem Process Worksheet Target
With WshTrg.Cells
WshSrc.Cells.Copy
.PasteSpecial Paste:=xlPasteFormats 'Source format is pasted.
.PasteSpecial Paste:=xlPasteComments 'Comments are pasted.
.PasteSpecial Paste:=xlPasteValidation 'Validations are pasted.
Application.CutCopyMode = False
Application.Goto .Cells(1), 1
End With: End If:
NEXT_WshTrg:
Next
Application.Goto WshSrc.Cells(1), 1
Application.ScreenUpdating = 1
End Sub
选项显式
子Wsh_特殊_测试()
尺寸AWSHE不作为变型,vWshExc作为变型
awsheexcluded=数组(“排除(1)”,“排除(2)”)
将WshSrc设置为工作表
将WshTrg设置为工作表
Rem集合源工作表
设置WshSrc=thishworkbook.Worksheets(“源”)
Application.ScreenUpdate=0
Rem处理所有工作表
对于WshSrc.Parent.Worksheets中的每个WshTrg
Rem排除工作表源
如果WshTrg.Name为WshSrc.Name,则
Rem验证工作表与排除列表
对于aWshExcluded中的每个vWshExc
如果WshTrg.Name=vWshExc,则转到下一个\u WshTrg
下一个
Rem过程工作表目标
使用WshTrg.Cells
WshSrc.Cells.Copy
.Paste特殊粘贴:=xlPasteFormats的源格式已粘贴。
.Paste特殊粘贴:=xlPasteComments的注释已粘贴。
.PasteSpecial Paste:=xlPasteValidation的验证已粘贴。
Application.CutCopyMode=False
应用程序。转到。单元格(1),1
结束于:如果:
下一步:
下一个
Application.Goto WshSrc.Cells(1),1
Application.ScreenUpdate=1
端接头
Hi,根据您的解决方案,我们可以将相同的数据从源表复制到目标表。但我的要求不同。我必须在不同的工作表中使用不同的数据。我想将源工作表的格式复制到目标工作表。不是数据。嗨,Sahil Chaudhardy,恐怕我的目的不是向你提供完整的代码,而是给你一个样本,以鼓励你研究这个主题。现在请注意,当XlPasteType枚举
引用公式时,不幸的是,它还包含值。尽管如此,我还是在一个单独的答案中发布了完整的代码。干杯
Option Explicit
Sub Wsh_PasteSpecial_Test()
Dim aWshExcluded As Variant, vWshExc As Variant
aWshExcluded = Array("Exclude(1)", "Exclude(2)")
Dim WshSrc As Worksheet
Dim WshTrg As Worksheet
Rem Set Source Worksheet
Set WshSrc = ThisWorkbook.Worksheets("Source")
Application.ScreenUpdating = 0
Rem Process All Worksheets
For Each WshTrg In WshSrc.Parent.Worksheets
Rem Exclude Worksheet Source
If WshTrg.Name <> WshSrc.Name Then
Rem Validate Worksheet vs Exclusion List
For Each vWshExc In aWshExcluded
If WshTrg.Name = vWshExc Then GoTo NEXT_WshTrg
Next
Rem Process Worksheet Target
With WshTrg.Cells
WshSrc.Cells.Copy
.PasteSpecial Paste:=xlPasteFormats 'Source format is pasted.
.PasteSpecial Paste:=xlPasteComments 'Comments are pasted.
.PasteSpecial Paste:=xlPasteValidation 'Validations are pasted.
Application.CutCopyMode = False
Application.Goto .Cells(1), 1
End With: End If:
NEXT_WshTrg:
Next
Application.Goto WshSrc.Cells(1), 1
Application.ScreenUpdating = 1
End Sub