如何根据单元格的所有可能值保存多个电子表格?

Posted

技术标签:

【中文标题】如何根据单元格的所有可能值保存多个电子表格?【英文标题】:How to save multiple spreadsheets based on all possible values for a cell? 【发布时间】:2020-05-30 17:16:02 【问题描述】:

为了具体起见,用户应该在 sheet1 的 A1 单元格中输入一个 1 到 99 的值。然后重新计算 sheet2。

如何预先生成可能出现的所有不同 sheet2 的集合(带有值,不希望公式显示)?

【问题讨论】:

每次更新 sheet1 后,将 sheet 2 复制到新文件并保存。 是的。如果我找不到使手动过程自动化的方法,我将不得不忍受它。 我并没有说它不能自动化 - 可能先记录一个宏,同时完成一次步骤,然后使用该代码作为基础。 【参考方案1】:

如果您在 Sheet1 "A1" 中放置(例如)99,则 Sheet2 将在桌面上保存为 Sheet2_99.xlsx(根据需要更改路径),并在 VBA Sheet1 对象中使用以下过程

Private Sub Worksheet_Change(ByVal Target As Range)
Application.DisplayAlerts = True
If Not Intersect(Range("A1"), Target) Is Nothing Then
    Sheets("Sheet2").Copy
    ActiveWorkbook.SaveAs Filename:="C:\Users\naresh\Desktop\Sheet2_" & Target.Value & ".xlsx" _
        , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

    With ActiveSheet.UsedRange
    .Value = .Value
    End With

ActiveWorkbook.Close True
End If

End Sub

【讨论】:

新创建的文件正在链接到原始文件。在每个新文件中,一个单元格(比如 B1)有 ='[Filename.xlsm]Sheet2'!B1。因此,所有文件最终都具有原始文件的最新迭代。 答案已编辑 .. 注意“with .. End with”块语句。

以上是关于如何根据单元格的所有可能值保存多个电子表格?的主要内容,如果未能解决你的问题,请参考以下文章

为当前单元格设置默认值 Google 电子表格

输出文本字符串的多个单元格的电子表格 IF 语句

VBA-在命名范围内查找第一个单元格的位置以引用电子表格的标题行

根据另一个单元格的值自动填充单元格,不带公式

如何在谷歌电子表格中将多个单元格与一行中的两个可能值进行比较?

UVa512追踪电子表格中的单元格详解