重命名多个电子表格宏

时间:2015-09-02 14:12:20

标签: excel vba excel-vba

我有一个Excel VBA宏,它接收多个文本文件(50+),并将它们转换为.xlsx电子表格。我想根据文件的原始名称重命名这些。

我已尝试使用以下代码,但它仅适用于1个名称。

    Sub Rename_Files()

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.DisplayStatusBar = False

Dim k As Integer
Dim t As String
Dim x As Integer

k = Sheets.Count
x = 1

    While x <= k
        t = Sheets(x).Name
        If t = "validated_deals" Then

            Sheets(x).Name = "Clauric - Validated Deals"
            x = x + 1

        Else

            x = x + 1
        End If

    Wend

End Sub

显然我可以为每个名称重做While循环,但使用循环可以更快地完成它。如果有帮助,我将所有文件的名称存储在一个单独的位置。

1 个答案:

答案 0 :(得分:1)

假设您在string is double -strict $myNum 中有旧的工作表名称,column A上的新工作表名称在column B,就像这样:

enter image description here

以下是代码:

Sheet4

这个子类将创建两个数组,一个包含旧名称,另一个包含新名称。它会在每个名称上运行一个循环,如果名称匹配,它将更改名称。

- &gt; 确保您拥有相同数量的名称(旧名称和新名称)。