批量更新多个excel文件中的相同单元格

时间:2012-12-06 09:33:13

标签: excel

我有200张excel表,所有这些表都需要从当前内容更新到新内容的相同5个单元格。所有人都将拥有相同的新内容。

我想知道是否还有批量执行此操作而不是打开每个单独的文档并逐个进行更新。

示例:

文档1,单元格B / C / D7(合并单元格)包含DD.MM.YYYY格式的日期。我需要在所有200个文件中以YYYY.MM.DD格式提供该日期。

可以使用宏或其他东西吗?

1 个答案:

答案 0 :(得分:2)

最简单的方法就是使用VBA。您可以将所有文件放在一个目录中,然后使用this循环显示所有文件,并应用您的更改。

对于您提及的情况,假设您需要对每个工作簿的工作表Sheet1进行更改,您需要运行wbResults.Worksheets("Sheet1").Range("B7").NumberFormat = "YYYY.MM.DD"

Sub RunCodeOnAllXLSFiles()
Dim lCount As Long
Dim wbResults As Workbook
Dim wbCodeBook As Workbook


Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.EnableEvents = False

On Error Resume Next
    Set wbCodeBook = ThisWorkbook
        With Application.FileSearch
            .NewSearch
            'Change path to suit
            .LookIn = "C:\MyDocuments\TestResults"
            .FileType = msoFileTypeExcelWorkbooks
            'Optional filter with wildcard
            '.Filename = "Book*.xls"
                If .Execute > 0 Then 'Workbooks in folder
                    For lCount = 1 To .FoundFiles.Count 'Loop through all
                        'Open Workbook x and Set a Workbook variable to it
                        Set wbResults = Workbooks.Open(Filename:=.FoundFiles(lCount), UpdateLinks:=0)

                        'DO YOUR CODE HERE
                         wbResults.Worksheets("Sheet1").Range("B7").NumberFormat = "YYYY.MM.DD"
                        wbResults.Close SaveChanges:=True
                    Next lCount
                End If
        End With
On Error GoTo 0
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.EnableEvents = True
End Sub
MsoFileType can be one