在Excel VBA中创建存档宏

在Excel VBA中创建存档宏,vba,excel,excel-2007,Vba,Excel,Excel 2007,在这个最新的项目中,我们希望有一个按钮和宏来执行以下操作: 单击宏将复制现有工作簿中的所有数据并将其保存到其他位置。要创建工作簿的副本,我将使用以下代码: Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:="C:\Data.xlsm" Application.DisplayAlerts = True 此代码源于- 存档副本后,必须删除现有工作簿中的数据,保留所有格式。如何删除数据但保留格式 使用单元格集合

在这个最新的项目中,我们希望有一个按钮和宏来执行以下操作:

单击宏将复制现有工作簿中的所有数据并将其保存到其他位置。要创建工作簿的副本,我将使用以下代码:

    Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="C:\Data.xlsm"
Application.DisplayAlerts = True
此代码源于-


存档副本后,必须删除现有工作簿中的数据,保留所有格式。如何删除数据但保留格式

使用
单元格
集合的
.ClearContents()
属性

此代码遍历当前工作簿中的所有工作表,并从保留格式的单元格中删除值

更新! 如果只想清除每张图纸上的特定范围,则

Sub ClearAll()
    Dim ws As Worksheet
    For Each ws In Worksheets
        ws.Range("A1:B20").ClearContents
    Next
End Sub

这将仅清除每张图纸上的范围
A1:B20

使用
单元格的
.ClearContents()
属性

此代码遍历当前工作簿中的所有工作表,并从保留格式的单元格中删除值

更新! 如果只想清除每张图纸上的特定范围,则

Sub ClearAll()
    Dim ws As Worksheet
    For Each ws In Worksheets
        ws.Range("A1:B20").ClearContents
    Next
End Sub

这将只清除每张图纸上的范围
A1:B20

什么数据?清除单元格值?不清楚你想做什么。我很抱歉我忽略了这个细节。我想清除所有工作表中的单元格值,同时保留格式设置。可能需要保留一些单元格数据,但这可以通过锁定工作表来实现,使其无法编辑?什么数据?清除单元格值?不清楚你想做什么。我很抱歉我忽略了这个细节。我想清除所有工作表中的单元格值,同时保留格式设置。可能需要保留一些单元格数据,但这可以通过锁定工作表来实现,这样它们就不能被编辑了。这正是我所需要的。谢谢你,这是出于好奇。是否可以修改此代码以仅清除选定的单元格范围?也就是说,A2:G44范围内的产品非常受欢迎。这正是我所需要的。谢谢你,这是出于好奇。是否可以修改此代码以仅清除选定的单元格范围?即范围A2:G44?