Thema Datum  Von Nutzer Rating
Antwort
Rot Makro wählt nicht das nächste Sheet
07.09.2020 17:23:52 Gast52733
NotSolved
07.09.2020 18:39:00 Werner
Solved
08.09.2020 08:02:15 Gast96552
NotSolved

Ansicht des Beitrags:
Von:
Gast52733
Datum:
07.09.2020 17:23:52
Views:
72
Rating: Antwort:
  Ja
Thema:
Makro wählt nicht das nächste Sheet

Hallo zusammen,

folgende Ausgangssituation:

Das Makro (hier noch unvollständig) soll alle Arbeitsmappen bzw. die darin befindlichen und in Anzahl und Bezeichnung variablen Reiter durcharbeiten, sofern in dem jeweiligen Reiter in Zelle M173 ein Wert ungleich 0 steht. Sofern 0 drinsteht, soll das Makro nicht abbrechen, sondern den Reiter überspringen und mit dem nächsten Reiter weitermachen.

Mein Problem: Zwar öffnet das Makro die erste Arbeitsmappe und nimmt eine entsprechende Formatierung vor, jedoch geht es anschließend nicht weiter, d.h. die dahinter liegenden Reiter werden nicht angesprochen…. Hat jemand einen Tipp für mich?

 


Sub Aufbereitung()

    Dim cDir As String
    Dim sPath As String
    Dim i As Integer

 
    Excel.Application.EnableEvents = False
    Application.DisplayAlerts = False
        
    sPath = ThisWorkbook.Path & "\verarbeiten\"
    cDir = Dir(sPath & "*.xlsm")


   
    Do While cDir <> ""
        Workbooks.Open (sPath & cDir)
        
        Sheets("Übersicht").Delete
        Sheets("BEZ").Delete
        Sheets(1).Select

    For i = 1 To Sheets.Count
    With Sheets(i)
        
         ActiveSheet.Unprotect "controlling2020"
         
         
         Cells.Select
         Selection.Copy
         Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
            Application.CutCopyMode = False
       
         If ActiveSheet.Range("M173").Value <> "0" Then
                 
         
         ActiveSheet.Outline.ShowLevels RowLevels:=2
            Cells.Select
            Selection.Rows.Ungroup
    
            
                Range("B1").Select
                       
                Range("B8").Select
                ActiveCell.FormulaR1C1 = "Spalte B"
                Range("C8").Select
                ActiveCell.FormulaR1C1 = "Spalte C"
                Range("D8").Select
                ActiveCell.FormulaR1C1 = "Spalte D"
                Range("E8").Select
                ActiveCell.FormulaR1C1 = "Spalte E"
                Range("F8").Select
                ActiveCell.FormulaR1C1 = "Spalte F"
                Range("G8").Select
                ActiveCell.FormulaR1C1 = "Spalte G"
                Range("H8").Select
                ActiveCell.FormulaR1C1 = "Spalte H"
                Range("I8").Select
                ActiveCell.FormulaR1C1 = "Spalte I"
                Range("J8").Select
                ActiveCell.FormulaR1C1 = "Spalte J"
                Range("K8").Select
                ActiveCell.FormulaR1C1 = "Spalte K"
                Range("L8").Select
                ActiveCell.FormulaR1C1 = "Spalte L"
                Range("M8").Select
                ActiveCell.FormulaR1C1 = "Spalte M"
                Range("B8").Select
                Selection.AutoFilter
                ActiveSheet.Range("$A:$M").AutoFilter Field:=13, Criteria1:="<>0", Operator:=xlFilterValues
                ActiveSheet.Range("$A:$M").AutoFilter Field:=2, Criteria1:="<>"
                         
        
                Columns("D:L").Select
                Selection.Delete Shift:=xlToLeft
                Columns("B:B").Select
                Selection.Insert Shift:=xlToRight
                Range("B10") = Range("D3")
            
        
                Range("B10").Select
                Selection.Copy
                ActiveCell.Offset(0, 1).Select
                Selection.End(xlDown).Select
                ActiveCell.Offset(0, -1).Select
                Range(Selection, Selection.End(xlUp)).Select
                ActiveSheet.Paste
                Application.CutCopyMode = False
                Range("B1").Select

                  
         End If
         End With
        Next
 
      
 
        cDir = Dir
        
        Excel.Application.EnableEvents = True
        Application.DisplayAlerts = True
        
    Loop
End Sub

 


 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst genau und ausführlich
  • 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
  • Bitte markieren Sie Ihre Anfrage als erledigt wenn Ihnen geholfen wurde
Thema: Name: Email:

 
 

Thema Datum  Von Nutzer Rating
Antwort
Rot Makro wählt nicht das nächste Sheet
07.09.2020 17:23:52 Gast52733
NotSolved
07.09.2020 18:39:00 Werner
Solved
08.09.2020 08:02:15 Gast96552
NotSolved