Thema Datum  Von Nutzer Rating
Antwort
12.04.2021 18:16:32 Jörg
NotSolved
12.04.2021 19:54:55 ralf_b
NotSolved
Rot VBA-Makro führt zu Excel-Abbruch
12.04.2021 20:48:52 Jörg
NotSolved
12.04.2021 22:33:43 ralf_b
NotSolved
12.04.2021 23:10:10 Gast80927
NotSolved
12.04.2021 23:46:34 ralf_b
NotSolved
13.04.2021 07:52:27 Jörg
NotSolved
13.04.2021 14:52:30 Nobody
NotSolved
13.04.2021 16:52:58 Jörg
NotSolved
13.04.2021 17:58:59 Nobody
NotSolved
13.04.2021 18:02:50 Jörg
NotSolved
14.04.2021 19:19:28 Nobody
NotSolved

Ansicht des Beitrags:
Von:
Jörg
Datum:
12.04.2021 20:48:52
Views:
630
Rating: Antwort:
  Ja
Thema:
VBA-Makro führt zu Excel-Abbruch

Hallo Ralf,

so ich habe nochmal intensiv geschaut und zwei seperate Subs erstellt. 

 

Ab dieser Stelle tut sich das Makro immer ziemlich schwer und bricht manchmal ab.

'Filtern
    
For PD = 1 To 2
    If PD = 1 Then ORT = "*BLN*"
    If PD = 2 Then ORT = "*CS*"
    If PD = 3 Then ORT = "*NSZ*"
    If PD = 4 Then ORT = "*SWE*"
    If PD = 5 Then ORT = "*I.NP-O-F*"
    If PD = 6 Then ORT = "*I.NA-O-R*"
    letztezeile = Sheets("Aufschlüsselung").UsedRange.SpecialCells(xlCellTypeLastCell).Row + 4
            
        '************************** TEMP 1**************************************************
            Dim Datum1 As String, Datum2 As String
            
            Datum1 = CStr(CLng(CDate(Split(Worksheets("Eingabe").Cells(5, 3).Text, "=")(1))))
            Datum2 = CStr(CLng(CDate(Split(Worksheets("Eingabe").Cells(5, 4).Text, "=")(1))))
            
            ThisWorkbook.Worksheets("V03").Activate
            
            Rows(1).AutoFilter Field:=3, Criteria1:= _
                ">=" & Datum1, Operator:=xlAnd, Criteria2:="<=" & Datum2
                
                
            
        'Nach Netzen filtern
        ThisWorkbook.Worksheets("V03").Activate
            ' ActiveSheet.Range("$A$1:$KW$725").AutoFilter Field:=13, Criteria1:=Array( _
                "SWE"), Operator:= _
                xlFilterValues
          
'        Selection.AutoFilter Field:=13, Criteria1:="*BLN*", Operator:=xlOr
        Selection.AutoFilter Field:=13, Criteria1:=ORT, Operator:=xlOr
        
        Worksheets("V03").Range("M1").AutoFilter Field:=16, VisibleDropDown:=False
        
        
        
        
        'Vorgabe für Aufschlüsselung
        
        Sheets("Aufschlüsselung").Select
            Cells.Select
            Selection.ClearContents
        Worksheets("Aufschlüsselung").Cells.Delete
        
        Range("B3:E3").Select
            ActiveCell.FormulaR1C1 = """Nein""-Rückmeldungen V03"
            Range("B5").Select
            ActiveCell.FormulaR1C1 = "PD " & ORT
            Range("C5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_1_1"
            Range("D5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_1_2"
            Range("E5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_1_3"
            Range("F5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_2_1"
            Range("G5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_2_2"
            Range("H5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_2_3"
            Range("I5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_2_4"
            Range("J5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_2_5"
            Range("K5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_3_1"
            Range("L5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_3_2"
            Range("M5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_3_3"
            Range("N5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_3_4"
            Range("O5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_3_5"
            Range("P5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_3_6"
            Range("Q5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_3_7"
            Range("R5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_3_8"
            Range("S5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_1"
            Range("T5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_2"
            Range("U5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_2_1"
            Range("V5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_3"
            Range("W5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_3_1"
            Range("X5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_3_2"
            Range("Y5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_3_3"
            Range("Z5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_4"
            Range("AA5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_4_1"
            Range("AB5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_4_2"
            Range("AC5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_4_3"
            Range("AD5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_4_4"
            Range("AE5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_4_5"
            Range("AF5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_5"
            Range("AG5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_5_1"
            Range("AH5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_5_2"
            Range("AI5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_5_3"
            Range("AJ5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_6_1"
            Range("AK5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_6_2"
            Range("AL5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_6_3"
            Range("AM5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_6_4"
            Range("AN5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_6_5"
            Range("AO5").Select
            ActiveCell.FormulaR1C1 = "bauko_3_4_6_6"
            Range("AP5").Select
            ActiveCell.FormulaR1C1 = "bauko_4_1"
            Range("AQ5").Select
            ActiveCell.FormulaR1C1 = "bauko_4_2"
            Range("AR5").Select
            ActiveCell.FormulaR1C1 = "bauko_4_3"
            Range("AS5").Select
            ActiveCell.FormulaR1C1 = "bauko_4_4"
            Range("AT5").Select
            ActiveCell.FormulaR1C1 = "bauko_4_5"
            Range("AU5").Select
            ActiveCell.FormulaR1C1 = "bauko_4_6"
            Range("AV5").Select
            ActiveCell.FormulaR1C1 = "bauko_5_1"
            Range("AW5").Select
        
        
        
        'ID finden und kopieren
        
        Dim Zeilennr As Integer
        Dim Spaltennr As Integer
        Dim ID As String
        Dim maxZeilen As Integer
        Dim maxSpalten As Integer
        'Dim AktZeilennr as Integer
        
        Sheets("TEMP1").Select
            Cells.Select
            Selection.ClearContents
            
        Sheets("V03").Select
        Cells.Select
            Selection.Copy
            Sheets("TEMP1").Select
            Cells.Select
            ActiveSheet.Paste
        maxZeilen = Application.WorksheetFunction.CountA(Range("A:A"))
        
        For Zeilennr = 2 To maxZeilen
        
            For Spaltennr = 27 To 72
        
                If Cells(Zeilennr, Spaltennr) = "nein" Then
                    ID = Cells(Zeilennr, 1)
                    ' Max. Eintrag in 'Aufschlüsselung, Spalte xx ermitteln
                    Sheets("Aufschlüsselung").Select
                    AktZeilennr = ActiveSheet.Cells(1048576, (Spaltennr - 24)).End(xlUp).Row + 1
                    Sheets("Aufschlüsselung").Cells(AktZeilennr, Spaltennr - 24) = ID
                    Sheets("TEMP1").Select
                End If
        
            Next Spaltennr
        Next Zeilennr
        'Hier wird die letzte Zeile ermittelt
        'Egal in welcher Spalte sich die letzte Zeile befindet
        'Es werden alle Spalten geprüft und die letzte Zeile ausgegeben
        letztezeile = Sheets("Aufschlüsselung").UsedRange.SpecialCells(xlCellTypeLastCell).Row + 4
        'letztezeile = Sheets("Aufschlüsselung").UsedRange.SpecialCells(xlCellTypeLastCell).Row
        
        '************************** TEMP 2**************************************************
            'Filtern
            
            Dim Datum3 As String, Datum4 As String
            
            Datum3 = CStr(CLng(CDate(Split(Worksheets("Eingabe").Cells(5, 3).Text, "=")(1))))
            Datum4 = CStr(CLng(CDate(Split(Worksheets("Eingabe").Cells(5, 4).Text, "=")(1))))
            
            ThisWorkbook.Worksheets("V03 erweitert").Activate
            
            Rows(1).AutoFilter Field:=3, Criteria1:= _
                ">=" & Datum1, Operator:=xlAnd, Criteria2:="<=" & Datum2
                
                
            
        'Nach Netzen filtern
        ThisWorkbook.Worksheets("V03 erweitert").Activate
            ' ActiveSheet.Range("$A$1:$KW$725").AutoFilter Field:=13, Criteria1:=Array( _
                "SWE"), Operator:= _
                xlFilterValues
        Selection.AutoFilter Field:=13, Criteria1:=ORT, Operator:=xlOr
        
        
        Sheets("Aufschlüsselung").Select
        Cells(letztezeile, 2) = """Nein""-Rückmeldungen V03 erw."
        Cells(letztezeile + 2, 2) = "PD " & ORT
        Cells(letztezeile + 2, 3) = "bauko_3_1_1"
        Cells(letztezeile + 2, 4) = "bauko_3_1_2"
        Cells(letztezeile + 2, 5) = "bauko_3_1_3"
        Cells(letztezeile + 2, 6) = "bauko_3_2_1"
        Cells(letztezeile + 2, 7) = "bauko_3_2_2"
        Cells(letztezeile + 2, 8) = "bauko_3_2_3"
        Cells(letztezeile + 2, 9) = "bauko_3_2_4"
        Cells(letztezeile + 2, 10) = "bauko_3_2_5"
        Cells(letztezeile + 2, 11) = "bauko_3_3_1"
        Cells(letztezeile + 2, 12) = "bauko_3_3_2"
        Cells(letztezeile + 2, 13) = "bauko_3_3_3"
        Cells(letztezeile + 2, 14) = "bauko_3_3_4"
        Cells(letztezeile + 2, 15) = "bauko_3_3_5"
        Cells(letztezeile + 2, 16) = "bauko_3_3_6"
        Cells(letztezeile + 2, 17) = "bauko_3_3_7"
        Cells(letztezeile + 2, 18) = "bauko_3_3_8"
        Cells(letztezeile + 2, 19) = "bauko_3_4_1"
        Cells(letztezeile + 2, 20) = "bauko_3_4_2"
        Cells(letztezeile + 2, 21) = "bauko_3_4_2_1"
        Cells(letztezeile + 2, 22) = "bauko_3_4_3"
        Cells(letztezeile + 2, 23) = "bauko_3_4_3_1"
        Cells(letztezeile + 2, 24) = "bauko_3_4_3_2"
        Cells(letztezeile + 2, 25) = "bauko_3_4_3_3"
        Cells(letztezeile + 2, 26) = "bauko_3_4_4"
        Cells(letztezeile + 2, 27) = "bauko_3_4_4_1"
        Cells(letztezeile + 2, 28) = "bauko_3_4_4_2"
        Cells(letztezeile + 2, 29) = "bauko_3_4_4_3"
        Cells(letztezeile + 2, 30) = "bauko_3_4_4_4"
        Cells(letztezeile + 2, 31) = "bauko_3_4_4_5"
        Cells(letztezeile + 2, 32) = "bauko_3_4_5"
        Cells(letztezeile + 2, 33) = "bauko_3_4_5_1"
        Cells(letztezeile + 2, 34) = "bauko_3_4_5_2"
        Cells(letztezeile + 2, 35) = "bauko_3_4_5_3"
        Cells(letztezeile + 2, 36) = "bauko_3_4_6_1"
        Cells(letztezeile + 2, 37) = "bauko_3_4_6_2"
        Cells(letztezeile + 2, 38) = "bauko_3_4_6_3"
        Cells(letztezeile + 2, 39) = "bauko_3_4_6_4"
        Cells(letztezeile + 2, 40) = "bauko_3_4_6_5"
        Cells(letztezeile + 2, 41) = "bauko_3_4_6_6"
        Cells(letztezeile + 2, 42) = "bauko_4_1"
        Cells(letztezeile + 2, 43) = "bauko_4_2"
        Cells(letztezeile + 2, 44) = "bauko_4_3"
        Cells(letztezeile + 2, 45) = "bauko_4_4"
        Cells(letztezeile + 2, 46) = "bauko_4_5"
        Cells(letztezeile + 2, 47) = "bauko_4_6"
        Cells(letztezeile + 2, 48) = "bauko_5_1"
        Cells(letztezeile + 2, 49) = "bauko_5_2"
        Cells(letztezeile + 2, 50) = "bauko_5_3"
        Cells(letztezeile + 2, 51) = "bauko_6_1"
        Cells(letztezeile + 2, 52) = "bauko_6_2"
        Cells(letztezeile + 2, 53) = "bauko_6_3"
        
        'ID finden und kopieren
        
        'Dim Zeilennr As Integer
        'Dim Spaltennr As Integer
        'Dim ID As String
        'Dim maxZeilen As Integer
        'Dim maxSpalten As Integer
        'Dim AktZeilennr as Integer
        
        Sheets("TEMP2").Select
            Cells.Select
            Selection.ClearContents
            
        Sheets("V03 erweitert").Select
        Cells.Select
            Selection.Copy
            Sheets("TEMP2").Select
            Cells.Select
            ActiveSheet.Paste
        maxZeilen = Application.WorksheetFunction.CountA(Range("A:A"))
        
        For Zeilennr = 2 To maxZeilen
        
            For Spaltennr = 26 To 76
        
                If Cells(Zeilennr, Spaltennr) = "nein" Then
                    ID = Cells(Zeilennr, 1)
                    ' Max. Eintrag in 'Aufschlüsselung, Spalte xx ermitteln
                    Sheets("Aufschlüsselung").Select
                    AktZeilennr = ActiveSheet.Cells(1048576, (Spaltennr - 23)).End(xlUp).Row + 1
                    Sheets("Aufschlüsselung").Cells(AktZeilennr, Spaltennr - 23) = ID
                    Sheets("TEMP2").Select
                End If
        
            Next Spaltennr
        Next Zeilennr
        'Hier wird die letzte Zeile ermittelt
        'Egal in welcher Spalte sich die letzte Zeile befindet
        'Es werden alle Spalten geprüft und die letzte Zeile ausgegeben
        letztezeile = Sheets("Aufschlüsselung").UsedRange.SpecialCells(xlCellTypeLastCell).Row + 4
        
        '************************** TEMP 3**************************************************
            'Filtern
            
            Dim Datum5 As String, Datum6 As String
            
            Datum5 = CStr(CLng(CDate(Split(Worksheets("Eingabe").Cells(5, 3).Text, "=")(1))))
            Datum6 = CStr(CLng(CDate(Split(Worksheets("Eingabe").Cells(5, 4).Text, "=")(1))))
            
            ThisWorkbook.Worksheets("V0405").Activate
            
            Rows(1).AutoFilter Field:=3, Criteria1:= _
                ">=" & Datum1, Operator:=xlAnd, Criteria2:="<=" & Datum2
                
                
            
        'Nach Netzen filtern
        ThisWorkbook.Worksheets("V0405").Activate
            ' ActiveSheet.Range("$A$1:$KW$725").AutoFilter Field:=13, Criteria1:=Array( _
                "SWE"), Operator:= _
                xlFilterValues
        Selection.AutoFilter Field:=13, Criteria1:=ORT, Operator:=xlOr
        
        
        Sheets("Aufschlüsselung").Select
        Cells(letztezeile, 2) = """Nein""-Rückmeldungen V04 V05"
        Cells(letztezeile + 2, 2) = "PD " & ORT
        Cells(letztezeile + 2, 3) = "bauko_3_1"
        Cells(letztezeile + 2, 4) = "bauko_3_2"
        Cells(letztezeile + 2, 5) = "bauko_3_3"
        Cells(letztezeile + 2, 6) = "bauko_3_4_1"
        Cells(letztezeile + 2, 7) = "bauko_3_4_2"
        Cells(letztezeile + 2, 8) = "bauko_3_4_3"
        Cells(letztezeile + 2, 9) = "bauko_4_1"
        Cells(letztezeile + 2, 10) = "bauko_4_2"
        Cells(letztezeile + 2, 11) = "bauko_4_3"
        Cells(letztezeile + 2, 12) = "bauko_5_1"
        Cells(letztezeile + 2, 13) = "bauko_5_2"
        Cells(letztezeile + 2, 14) = "bauko_5_3"
        Cells(letztezeile + 2, 15) = "bauko_5_4"
        Cells(letztezeile + 2, 16) = "bauko_5_5"
        
        'ID finden und kopieren
        
        'Dim Zeilennr As Integer
        'Dim Spaltennr As Integer
        'Dim ID As String
        'Dim maxZeilen As Integer
        'Dim maxSpalten As Integer
        'Dim AktZeilennr as Integer
        
        Sheets("TEMP3").Select
            Cells.Select
            Selection.ClearContents
            
        Sheets("V0405").Select
        Cells.Select
            Selection.Copy
            Sheets("TEMP3").Select
            Cells.Select
            ActiveSheet.Paste
        maxZeilen = Application.WorksheetFunction.CountA(Range("A:A"))
        
        For Zeilennr = 2 To maxZeilen
        
            For Spaltennr = 24 To 37
        
                If Cells(Zeilennr, Spaltennr) = "nein" Then
                    ID = Cells(Zeilennr, 1)
                    ' Max. Eintrag in 'Aufschlüsselung, Spalte xx ermitteln
                    Sheets("Aufschlüsselung").Select
                    AktZeilennr = ActiveSheet.Cells(1048576, (Spaltennr - 21)).End(xlUp).Row + 1
                    Sheets("Aufschlüsselung").Cells(AktZeilennr, Spaltennr - 21) = ID
                    Sheets("TEMP3").Select
                End If
        
            Next Spaltennr
        Next Zeilennr
        'Hier wird die letzte Zeile ermittelt
        'Egal in welcher Spalte sich die letzte Zeile befindet
        'Es werden alle Spalten geprüft und die letzte Zeile ausgegeben
'        letztezeile = Sheets("Aufschlüsselung").UsedRange.SpecialCells(xlCellTypeLastCell).Row + 4
Next PD

End Sub


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
12.04.2021 18:16:32 Jörg
NotSolved
12.04.2021 19:54:55 ralf_b
NotSolved
Rot VBA-Makro führt zu Excel-Abbruch
12.04.2021 20:48:52 Jörg
NotSolved
12.04.2021 22:33:43 ralf_b
NotSolved
12.04.2021 23:10:10 Gast80927
NotSolved
12.04.2021 23:46:34 ralf_b
NotSolved
13.04.2021 07:52:27 Jörg
NotSolved
13.04.2021 14:52:30 Nobody
NotSolved
13.04.2021 16:52:58 Jörg
NotSolved
13.04.2021 17:58:59 Nobody
NotSolved
13.04.2021 18:02:50 Jörg
NotSolved
14.04.2021 19:19:28 Nobody
NotSolved