【问题标题】:Change sheet references in cell formula for large number of sheets为大量工作表更改单元格公式中的工作表引用
【发布时间】:2019-09-05 13:56:45
【问题描述】:

我有大量原始数据表(称为 Data1、Data2 等),我想创建大量用于处理这些数据的干净数据表(Clean1、Clean2 等)。每个工作表 Clean'i' 仅引用文件 Data'i' 中的数据。

我编写了一个宏来创建多个名为 Clean2、Clean3 等的工作表 Clean1 副本,我现在想做的是用工作表 Clean2 中的“Data2”替换公式中的“Data1”,以及所有其他工作表.

如果只是为了一张工作表,我可能会这样做:

For Each cell In Range("A1:E9")
  If cell.Formula = "Data1" Then _
     cell.Formula = "Data2"
Next cell
End Sub

但我不知道如何创建一个循环,说明如果我在 Clean3 表中,我想用 Data3 替换 Data1 (即基本上引用了我正在循环的工作表名称的一部分,并在我要替换的表达式中使用它)

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    迭代工作表并使用替换:

    Dim wks As Worksheet
    For Each wks In ThisWorkbook.Worksheets
        If wks.Name Like "Clean*" Then
            wks.Range("A1:E9").Replace "Data1", "Data" & Replace(wks.Name, "Clean", "")
        End If
    Next wks
    

    【讨论】:

    • 完美!非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-25
    • 2018-11-06
    • 1970-01-01
    • 2017-12-15
    相关资源
    最近更新 更多