首页 > 解决方案 > 将工作表复制为新文件,所有单元格都为数字而不是公式

问题描述

我有一个工作表“表单”,其中填充了许多单元格,其中的公式基于同一工作簿“主”中工作表“数据”中的数据。运行宏后,我想将“表单”保存为新文件,这样,单元格都有值而不是公式,即它们不应该依赖于“主”中的任何工作表。

其次,名称应该是工作表“表单”的单元格 D3 和单元格 D4 中的内容串联的字符串,但是单元格 D4 是字符串,单元格 D3 是日期。我想将此日期转换为ddmmyyyy格式。文件名应为 String Concatenate (D3,D4) -> ddmmyyy XXXXXX.xlsx

到目前为止我已经这样做了 - 但是新文件 Format.xlsx 中的单元格是公式而不是值,我不知道如何将名称更改为由两个单元格的内容组成

D3 包含一个日期 - 2019 年 7 月 3 日,D4 包含一个字符串 - “XXXX”

Dim wb As Workbook
Set wb = Workbooks.Add
ThisWorkbook.Sheets("Format").Copy Before:=wb.Sheets(1)
wb.SaveAs Range("D3").Value & Range("D4").Value & ".xlsx"

标签: excelvba

解决方案


这里:

Dim wb As Workbook
Set wb = Workbooks.Add
With wb
    ThisWorkbook.Sheets("Format").Copy Before:=.Sheets(1)
    .Sheets(1).UsedRange.Value = .Sheets(1).UsedRange.Value
    .SaveAs Format(.Sheets(1).Range("D3").Value, "ddmmyyyy") & " " & .Sheets(1).Range("D4").Value & ".xlsx"
End With

推荐阅读