0

現在のコンテンツから新しいコンテンツに更新された同じ5つのセルをすべて必要とする200枚のExcelシートがあります。すべて同じ新しいコンテンツが含まれます。

個々のドキュメントを開いて1つずつ更新するのではなく、これをまとめて行う方法があるのではないかと思います。

例:

ドキュメント1、セルB / C / D7(結合されたセル)には、DD.MM.YYYY形式の日付が含まれています。200のドキュメントすべてにYYYY.MM.DD形式の日付が必要です。

これはマクロなどを使用して実行できますか?

4

1 に答える 1

2

最も簡単な方法は、実際にVBAでそれを行うことです。すべてのファイルを1つのディレクトリに配置し、これを使用してすべてのファイルを循環し、変更を適用できます。

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
于 2012-12-06T09:54:44.590 に答える