为什么我的单元格值在新工作簿中循环时会堆积

我是VBA的新手。我一直在使用for循环将计数添加到我的摘要页面,但是当它循环遍历多个工作簿时,摘要页面也不断增加,因为它也累加了上一个工作簿的价值。

我如何指定要计数的计数器并添加到其特定的摘要页面?

例如第一个工作簿摘要页数为10,下一个工作簿工作簿数为该工作簿数的10+。预先感谢!

    Private Sub CommandButton1_Click()
    Dim ws As Worksheet
    Dim wb As Workbook
    Dim myPath As String
    Dim myFile As String
    Dim myExtension As String
    Dim FldrPicker As FileDialog
    Dim x As Integer

    Dim wash_count As Integer    

    'Optimize Macro Speed
      Application.ScreenUpdating = False
      Application.EnableEvents = False
      Application.Calculation = xlCalculationmanual

    'Retrieve Target Folder Path From User
      Set FldrPicker = Application.FileDialog(msoFileDialogFolderPicker)

        With FldrPicker
          .Title = "Select A Target Folder"
          .AllowMultiSelect = False
            If .Show <> -1 Then GoTo NextCode
            myPath = .SelectedItems(1) & "\"
        End With

    'In Case of Cancel
    NextCode:
      myPath = myPath
      If myPath = "" Then GoTo ResetSettings

    'Target File Extension (must include wildcard "*")
      myExtension = "*.xls*"

    'Target Path with Ending Extention
      myFile = Dir(myPath & myExtension)

    'Loop through each Excel file in folder
      Do While myFile <> ""
        'Set variable equal to opened workbook
          Set wb = Workbooks.Open(Filename:=myPath & myFile)

        'Ensure Workbook has opened before moving on to next line of code
          DoEvents    

    For Each ws In wb.Sheets
        If ws.Name <> "Summary" Then

            For x = 5 To 74
                If ws.Cells(x,2).Value = "Wash" And (ws.Cells(x,4).Value = "T") Then
                wash_count = wash_count + 1    

                End If

            Next x                

        End If
    Next ws
    wb.Sheets("Summary").Range("D6") = wash_count       

    'Save and Close Workbook
          wb.Close SaveChanges:=True

        'Ensure Workbook has closed before moving on to next line of code
          DoEvents

        'Get next file name
          myFile = Dir
      Loop

    'Message Box when tasks are completed
      MsgBox "Task Complete!"

    ResetSettings:
      'Reset Macro Optimization Settings
        Application.EnableEvents = True
        Application.Calculation = xlCalculationAutomatic
        Application.ScreenUpdating = True    

    End Sub
milu4ever 回答:为什么我的单元格值在新工作簿中循环时会堆积

您不重置计数器:

'...
wb.Sheets("Summary").Range("D6") = wash_count

wash_count = 0  '<< reset for next workbook
本文链接:https://www.f2er.com/3162990.html

大家都在问