I have a code that copy values from a selected sheet to a master sheet. When the first run is completed; I need to select the second sheet. For some strange reason I need to perform it 3 or more times before it is correct. I've checked it over and over but couldn't find it. It are two codes but linked to each other.
Can somebody help me?
    Sub Update_SISdata_STB()
    '
    ' Update_SISdata Macro
    '
Set Workbook = ThisWorkbook
Sheets("Meetstaten").Select
WorkbooknameSISdata = ActiveWorkbook.Name
    
MsgBox "Selecteer de steigerbouwdump om te importeren ", vbMsgBoxSetForeground, "BIS Industrial Services"
Workbookname_ASESR = Application.GetOpenFilename(FileFilter:="Excel Files (*.xls), *.xls", Title:="Please select a file")
        
If Workbookname_ASESR = False Then
    ' They pressed Cancel
    MsgBox "Er is geen bestand geselecteerd om te openen!", vbExclamation, "BIS Industrial Services"
    Exit Sub        'GoTo exit_openfile
Else
    Sheets("Meetstaten").Select
    'Clear filter
    On Error Resume Next
    Sheets("Meetstaten").ShowAllData
    Range("A6").Select
    
    Dim LastRow As Long
    With ActiveSheet
    LastRow = .Cells(.Rows.Count, "C").End(xlUp).Row 'laatste regel bepalen
    End With
    If LastRow > 5 Then
        Range("A6:V" & LastRow).Select
        Selection.ClearContents
    End If
    Range("A6").Select
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    'WorkbooknameYMOE = ActiveWorkbook.Name
    Workbooks.Open Filename:=Workbookname_ASESR
    Workbookname_ASESR = ActiveWorkbook.Name
    Windows(Workbookname_ASESR).Activate
    ActiveWindow.WindowState = xlMaximized
    'Dim LastRow As Long
    With ActiveSheet
    LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row 'laatste regel bepalen
    End With
    
    'copy Meetstaat, Project, Debiteur
    Range("A2:C" & LastRow).Select
    Selection.Copy
    Windows(WorkbooknameSISdata).Activate
    Range("C6").Select
    ActiveSheet.Paste
    'Workbooks.Open Filename:=Workbookname_ASESR
    'Workbookname_ASESR = ActiveWorkbook.Name
    Windows(Workbookname_ASESR).Activate
    ActiveWindow.WindowState = xlMaximized
    'Copy Prio1, prio2, prio3, prio4, prio5
    Range("D2:H" & LastRow).Select
    Selection.Copy
    Windows(WorkbooknameSISdata).Activate
    Range("F6").Select
    ActiveSheet.Paste
    'copy datum SES montage
    Windows(Workbookname_ASESR).Activate
    ActiveWindow.WindowState = xlMaximized
    Range("M2:M" & LastRow).Select
    Selection.Copy
    Windows(WorkbooknameSISdata).Activate
    Range("K6").Select
    ActiveSheet.Paste
    
    'copy datum SES huur, SESnr montage
    Windows(Workbookname_ASESR).Activate
    ActiveWindow.WindowState = xlMaximized
    Range("P2:P" & LastRow).Select
    Selection.Copy
    Windows(WorkbooknameSISdata).Activate
    Range("M6").Select
    ActiveSheet.Paste
    
    'copy SESnr Huur
     '        Windows(Workbookname_ASESR).Activate
     '        ActiveWindow.WindowState = xlMaximized
      '        Range("R2:R" & LastRow).Select
      '        Selection.Copy
       '
          '        Windows(WorkbooknameSISdata).Activate
          '        Range("N6").Select
           '        ActiveSheet.Paste
    
    'copy inhuur, uithuur
    Windows(Workbookname_ASESR).Activate
    ActiveWindow.WindowState = xlMaximized
    Range("W2:X" & LastRow).Select
    Selection.Copy
    Windows(WorkbooknameSISdata).Activate
    Range("O6").Select
    ActiveSheet.Paste
     
    'copy montage_demontage-bedrag, Huurbedrag
    Windows(Workbookname_ASESR).Activate
    ActiveWindow.WindowState = xlMaximized
    Range("AG2:AH" & LastRow).Select
    Selection.Copy
    Windows(WorkbooknameSISdata).Activate
    Range("Q6").Select
    ActiveSheet.Paste
    
    'copy Totaalbedrag, gefact_mon_demon, gefact_huur, gefact_totaal
    Windows(Workbookname_ASESR).Activate
    ActiveWindow.WindowState = xlMaximized
    Range("AK2:AN" & LastRow).Select
    Selection.Copy
    Windows(WorkbooknameSISdata).Activate
    Range("S6").Select
    ActiveSheet.Paste
    
    Windows(Workbookname_ASESR).Close savechanges:=False
End If
Call Update_SISdata_ISO
Windows(WorkbooknameSISdata).Activate
With ActiveSheet
    LastRow = .Cells(.Rows.Count, "C").End(xlUp).Row 'laatste regel bepalen
End With
            
Range("A5:AM5").Select
Selection.AutoFilter
Range("A5:AM5").Select
Selection.AutoFilter
ActiveSheet.ShowAllData
With ActiveSheet
LastRow = .Cells(.Rows.Count, "C6").End(xlUp).Row 'laatste regel bepalen
End With
ActiveSheet.Range("$A$5:$AM" & LastRow).AutoFilter Field:=25, Criteria1:="<=0", _
Operator:=xlAnd
With ActiveSheet
LastRow = .Cells(.Rows.Count, "C6").End(xlUp).Row 'laatste regel bepalen
End With
With ActiveSheet
    Set rngFilt = Application.Intersect(.AutoFilter.Range.Offset(1).SpecialCells(xlCellTypeVisible), .Range("A:V"))
End With
rngFilt.Delete
ActiveSheet.ShowAllData
Range("W6:AM6").Select
Selection.AutoFill Destination:=Range("W6:AM1200"), Type:=xlFillDefault
With ActiveSheet
LastRow = .Cells(.Rows.Count, "C6").End(xlUp).Row 'laatste regel bepalen
End With
For Edit_row = 6 To LastRow
    Range("A" & Edit_row) = Mid(Range("D" & Edit_row), 34, 10)
    
    If Range("M" & Edit_row) <> "CONFIRMED" Then
        Range("B" & Edit_row) = Range("M" & Edit_row)
    End If
    If Range("K" & Edit_row).Value = "  -   -" Then
        Range("K" & Edit_row) = ""
    End If
    If Range("L" & Edit_row).Value = "  -   -" Then
    'If IsEmpty(Range("L" & Edit_row).Value) = True Then
        Range("L" & Edit_row) = ""
    End If
    
Next Edit_row
With ActiveSheet
LastRow = .Cells(.Rows.Count, "C6").End(xlUp).Row 'laatste regel bepalen
End With
ActiveWorkbook.ActiveSheet.Range("S2") = Application.WorksheetFunction.Subtotal(109, Range("S6:S" & LastRow))
ActiveWorkbook.ActiveSheet.Range("S3") = Application.WorksheetFunction.Subtotal(109, Range("S6:S" & LastRow))
ActiveWorkbook.ActiveSheet.Range("T2") = Application.WorksheetFunction.Subtotal(109, Range("T6:T" & LastRow))
ActiveWorkbook.ActiveSheet.Range("T3") = Application.WorksheetFunction.Subtotal(109, Range("T6:T" & LastRow))
ActiveWorkbook.ActiveSheet.Range("U2") = Application.WorksheetFunction.Subtotal(109, Range("U6:U" & LastRow))
ActiveWorkbook.ActiveSheet.Range("U3") = Application.WorksheetFunction.Subtotal(109, Range("U6:U" & LastRow))
ActiveWorkbook.ActiveSheet.Range("V2") = Application.WorksheetFunction.Subtotal(109, Range("V6:V" & LastRow))
ActiveWorkbook.ActiveSheet.Range("V3") = Application.WorksheetFunction.Subtotal(109, Range("V6:V" & LastRow))
ActiveWorkbook.ActiveSheet.Range("W2") = Application.WorksheetFunction.Subtotal(109, Range("W6:W" & LastRow))
ActiveWorkbook.ActiveSheet.Range("W3") = Application.WorksheetFunction.Subtotal(109, Range("W6:W" & LastRow))
ActiveWorkbook.ActiveSheet.Range("X2") = Application.WorksheetFunction.Subtotal(109, Range("X6:X" & LastRow))
ActiveWorkbook.ActiveSheet.Range("X3") = Application.WorksheetFunction.Subtotal(109, Range("X6:X" & LastRow))
ActiveWorkbook.ActiveSheet.Range("Y2") = Application.WorksheetFunction.Subtotal(109, Range("Y6:Y" & LastRow))
ActiveWorkbook.ActiveSheet.Range("Y3") = Application.WorksheetFunction.Subtotal(109, Range("Y6:Y" & LastRow))
ActiveWorkbook.ActiveSheet.Range("AF2") = Application.WorksheetFunction.Subtotal(109, Range("AF6:AF" & LastRow))
ActiveWorkbook.ActiveSheet.Range("AG2") = Application.WorksheetFunction.Subtotal(109, Range("AG6:AG" & LastRow))
ActiveWorkbook.ActiveSheet.Range("AH2") = Application.WorksheetFunction.Subtotal(109, Range("AH6:AH" & LastRow))
ActiveWorkbook.ActiveSheet.Range("AI2") = Application.WorksheetFunction.Subtotal(109, Range("AI6:AI" & LastRow))
ActiveWorkbook.ActiveSheet.Range("AJ2") = Application.WorksheetFunction.Subtotal(109, Range("AJ6:AJ" & LastRow))
ActiveWorkbook.ActiveSheet.Range("AK2") = Application.WorksheetFunction.Subtotal(109, Range("AK6:AK" & LastRow))
ActiveWorkbook.ActiveSheet.Range("AL2") = Application.WorksheetFunction.Subtotal(109, Range("AL6:AL" & LastRow))
' Verversen draaitabellen
Dim pivC As PivotCache
For Each pivC In ActiveWorkbook.PivotCaches
    pivC.Refresh
Next
End Sub
Sub Update_SISdata_ISO()
'
' Update_SISdata Macro
 '
Set Workbook = ThisWorkbook
Sheets("Meetstaten").Select
WorkbooknameSISdata = ActiveWorkbook.Name
    
MsgBox "Selecteer de Isolatiedump om te importeren ", vbMsgBoxSetForeground, "BIS Industrial Services"
Workbookname_ASESR = Application.GetOpenFilename(FileFilter:="Excel Files (*.xls), *.xls", Title:="Please select a file")
        
If Workbookname_ASESR = False Then
    ' They pressed Cancel
    MsgBox "Er is geen bestand geselecteerd om te openen!", vbExclamation, "BIS Industrial Services"
    Exit Sub        'GoTo exit_openfile
Else
    Sheets("Meetstaten").Select
    'Clear filter
    'Sheets("Meetstaten").ShowAllData
    Range("A6").Select
    Dim LastRow_STB As Long
    With ActiveSheet
    LastRow_STB = .Cells(.Rows.Count, "C").End(xlUp).Row 'laatste regel bepalen
    End With
    '        If LastRow_STB > 5 Then
'            Range("A6:V" & LastRow).Select
 '            Selection.ClearContents
     '        End If
     '        Range("A6").Select
    LastRow_STB = LastRow_STB + 1
    
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    'WorkbooknameYMOE = ActiveWorkbook.Name
    Workbooks.Open Filename:=Workbookname_ASESR
    Workbookname_ASESR = ActiveWorkbook.Name
    Windows(Workbookname_ASESR).Activate
    ActiveWindow.WindowState = xlMaximized
    Dim LastRow_ISO As Long
    With ActiveSheet
    LastRow_ISO = .Cells(.Rows.Count, "A").End(xlUp).Row 'laatste regel bepalen
    End With
    
    'copy Meetstaat, Project, Debiteur
    Range("A2:C" & LastRow_ISO).Select
    Selection.Copy
    Windows(WorkbooknameSISdata).Activate
    Range("C" & LastRow_STB).Select
    ActiveSheet.Paste
    'Workbooks.Open Filename:=Workbookname_ASESR
    'Workbookname_ASESR = ActiveWorkbook.Name
    Windows(Workbookname_ASESR).Activate
    ActiveWindow.WindowState = xlMaximized
    'Copy Prio1, prio2, prio3, prio4, prio5
    Range("F2:J" & LastRow_ISO).Select
    Selection.Copy
    Windows(WorkbooknameSISdata).Activate
    Range("F" & LastRow_STB).Select
    ActiveSheet.Paste
    'copy datum SES montage
    Windows(Workbookname_ASESR).Activate
    ActiveWindow.WindowState = xlMaximized
    Range("AK2:AK" & LastRow_ISO).Select
    Selection.Copy
    Windows(WorkbooknameSISdata).Activate
    Range("K" & LastRow_STB).Select
    ActiveSheet.Paste
    
    'copy datum SES huur blijft LEEG, SESnr montage
    Windows(Workbookname_ASESR).Activate
    ActiveWindow.WindowState = xlMaximized
    Range("AM2:AM" & LastRow_ISO).Select
    Selection.Copy
    Windows(WorkbooknameSISdata).Activate
    Range("M" & LastRow_STB).Select
    ActiveSheet.Paste
    
    'copy SESnr Huur blijft LEEG
'        Windows(Workbookname_ASESR).Activate
'        ActiveWindow.WindowState = xlMaximized
'        Range("R2:R" & LastRow).Select
'        Selection.Copy
    '
'        Windows(WorkbooknameSISdata).Activate
'        Range("N" & LastRow_STB).Select
'        ActiveSheet.Paste
    
    'copy inhuur, uithuur
    Windows(Workbookname_ASESR).Activate
    ActiveWindow.WindowState = xlMaximized
    Range("P2:P" & LastRow_ISO).Select
    Selection.Copy
    ' Inhuur
    Windows(WorkbooknameSISdata).Activate
    Range("O" & LastRow_STB).Select
    ActiveSheet.Paste
    ' Uithuur
    Windows(WorkbooknameSISdata).Activate
    Range("P" & LastRow_STB).Select
    ActiveSheet.Paste
     
    'copy montage_demontage_bedrag, Huurbedrag
    Windows(Workbookname_ASESR).Activate
    ActiveWindow.WindowState = xlMaximized
    Range("W2:W" & LastRow_ISO).Select
    Selection.Copy
    ' Montage_demontage_bedrag
    Windows(WorkbooknameSISdata).Activate
    Range("Q" & LastRow_STB).Select
    ActiveSheet.Paste
    ' Huurbedrag
'        Windows(WorkbooknameSISdata).Activate
'        Range("R" & LastRow_STB).Select
'        ActiveSheet.Paste
    
    'copy Totaalbedrag, gefact_mon_demon, gefact_huur, gefact_totaal
    Windows(Workbookname_ASESR).Activate
    ActiveWindow.WindowState = xlMaximized
    Range("W2:Z" & LastRow_ISO).Select
    Selection.Copy
    Windows(WorkbooknameSISdata).Activate
    Range("S" & LastRow_STB).Select
    ActiveSheet.Paste
    
    Windows(Workbookname_ASESR).Close savechanges:=False
End If
End Sub
 
     
    