Microsoft Excel

Herbers Excel/VBA-Archiv

Makro startet und bricht dann ab

Betrifft: Makro startet und bricht dann ab von: Susanne
Geschrieben am: 24.10.2020 09:50:23

Hallo,

ich sitze seit mehreren Tagen an einem Bericht und komme einfach nicht weiter. Ich habe ein
Template erstellt, dass ich in ein Datenexport-Tool hochlade. Dort werden bestimmte Daten
eingespielt und der Bericht wird dann z.B. monatlich in einem bestimmten Ordner abgelegt. Damit
der Bericht die korrekten Daten abbildet, habe ich verschiedene Makros, die nacheinander
durchlaufen. Das klappt mit den ersten Makros problemlos, aber bei einem Makro hält er an. Ich
erhalte keine Fehlermeldung. Wenn ich den abgelegten Bericht öffne und über Entwicklertools Visual
Basic in das Modul gehe und dann auf „Play“ drücke, wird das Makro so ausgeführt wie ich es haben
möchte. Woran könnte das liegen? Das letzte Makro das Problemlos funktioniert, lautet:

Public Sub restoreFormulasIII()
Application.ScreenUpdating = False
'Formeln runterziehen
Sheets("Auswertung").Select
Range("AA8:AB8").Select
Selection.AutoFill Destination:=Range("AA8:AB150"), Type:=xlFillValues
Sheets("Auswertung").Select
Application.ScreenUpdating = True
End Sub
Danach kommt das Makro, dass nicht startet:

Sub LöschenMandant()
Dim c, d As Integer
For c = 1 To 150
If Cells(c, 27).Value = "1"; Then
Range(Cells(c, 6), Cells(c, 26)).ClearContents
End If
Next c
End Sub

Mein erster Gedanke war, dass das Makro nicht weiß, auf welches Tabellenblatt es Anwendung
finden soll, aber auch mit

Sub LöschenMandant()
Dim c, d As Integer
Sheets("Auswertung").Select
For c = 1 To 150
If Cells(c, 27).Value = "1"; Then
Worksheets("Auswertung").Range(Cells(c, 6), Cells(c, 26)).ClearContens
End If
Next c
End Sub

Komme ich nicht zum Erfolg. Ich habe dann das Makro LöschenMandant in das Makro
restoreFormulasIII eingebaut, aber auch das funktioniert nicht. Folgende Punkte habe ich schon
ausprobiert:
- Ich hatte angenommen, dass ich im Template vielleicht versehentlich ein Makro ausgeführt habe und es deswegen nicht erneut durchgeführt wird, aber ich habe die Datei noch mal neu erstellt und das Problem besteht weiterhin.
- Ich habe aktuell 7 Module und gedacht, dass, wenn ich die gleichen Variablen nehme, es hier zu Problemen kommen kann, aber auch mit anderen Variablen bleibt das Problem.
- Add-Ins sind alle ausgeschaltet.
- Makro-Einstellungen sind so gewählt, dass ich beim Öffnen der Arbeitsmappe gefragt werde, ob das Makro ausgeführt werden soll.
Die Module sind alle einzeln geschrieben. Im Projekt-Ordner unter Arbeitsmappe ist folgendes Makro
für den Ablauf hinterlegt:
Private Sub Workbook_Open()
Application.ScreenUpdating = False
restoreFormulas
restoreFormulasII
aktuelleStruktur
restoreFormulasIII
LöschenMandant
LöschenBereich
Sheets("Auswertung").Select
Application.ScreenUpdating = True
End Sub
Hat jemand eine Idee, was ich noch ausprobieren könnte?

Vielen Dank vorab!

Betrifft: AW: Makro startet und bricht dann ab
von: Hajo_Zi
Geschrieben am: 24.10.2020 10:05:29

Select, Activate usw. ist in VBA zu 99,8% nicht notwendig.
Der Cursor ist kein Hund der überall rumgeführt werden muss.
Hinweise zu select usw. Hajo-Excel.de
Hinweise zu select usw. Online-Excel.de
Hinweise zu select usw. Online-Excel.de
Der Cursor ist kein Hund, der überall rum geführt werden muss.

Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.

Sollte die Datei verlinkt werden?

Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
änderrn.

Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.

http://www.excel-ist-sexy.de/bilder-statt-datei/

Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.

Das ist nur meine Meinung zu dem Thema.

GrußformelHomepage

Betrifft: AW: Makro startet und bricht dann ab
von: Nepumuk
Geschrieben am: 24.10.2020 10:25:23

Hallo Susanne,

versuch es so:

Sub LöschenMandant()
    Dim c As Long
    With Worksheets("Auswertung")
        For c = 1 To 150
            If .Cells(c, 27).Value = 1 Then
                .Range(.Cells(c, 6), .Cells(c, 26)).ClearContens
            End If
        Next c
    End With
End Sub

Gruß
Nepumuk

Betrifft: AW: Makro startet und bricht dann ab
von: Susanne
Geschrieben am: 24.10.2020 17:50:48

Hallo Nepumuk,

danke für Deine Nachricht. Leider funktioniert es nicht. Ich habe jetzt diese Makroreihenfolge:

restoreFormularsIII
LöschM
restoreFormularsIIII

LöschM habe ich wie von Dir vorgeschlagen notiert, komischerweise wird jetzt zusätzlich das nachfolgende Makro (restoreFormularsIIII) ausgeführt. In dem Makro LöschM sollen ja, wenn der Wert in Spalte AA 1 ist, der Inhalt der Spalten der Zeile F bis Z gelöscht werden. Ich habe auf den Feldern eine bedingte Formatierung. Ist das ein Problem?

Danke vorab und Gruß
Susanne

Betrifft: AW: Makro startet und bricht dann ab
von: Nepumuk
Geschrieben am: 24.10.2020 17:53:13

Hallo Susanne,

nein, das spielt keine Rolle.

Gruß
Nepumuk

Betrifft: AW: Makro startet und bricht dann ab
von: Susanne
Geschrieben am: 24.10.2020 17:58:48

Hallo Nepumuk,

gibt es noch eine andere Möglichkeit für den Befehl: "wenn in Zeile AA5 eine 1 steht, dann lösche den Inhalt der Zellen F5:Z5?"

Gruß
Susanne

Betrifft: AW: Makro startet und bricht dann ab
von: Nepumuk
Geschrieben am: 24.10.2020 18:04:13

Hallo Susanne,

um wie viele Zeilen gesamt handelt es sich maximal?

Gruß
Nepumuk

Betrifft: AW: Makro startet und bricht dann ab
von: Susanne
Geschrieben am: 24.10.2020 18:17:09

Hallo Nepumuk,

um max. 150 Zeilen.

Danke Susanne

Betrifft: AW: Makro startet und bricht dann ab
von: Nepumuk
Geschrieben am: 24.10.2020 18:21:28

Hallo Susanne,

dann rentiert sich die Umstellung auf eine andere Methode nicht.

Gruß
Nepumuk

Betrifft: AW: Makro startet und bricht dann ab
von: ralf_b
Geschrieben am: 24.10.2020 11:26:22

wird das Makro nicht gestartet oder bricht im Makro die Verarbeitung ab?

Verwende sicherheitshalber keine Umlaute.

Setze Haltepunkte z.b. mit F9

Zum prüfen ob dein Code dorthin kommt, kannst mit mittels debug.print Informationen ins Direktfenster schreiben und sie später kontrollieren.

Betrifft: AW: Makro startet und bricht dann ab
von: Susanne
Geschrieben am: 24.10.2020 17:55:22

Hallo Ralf_b,
das Makro startet nicht. Das Makro davor und danach wird aber durchgeführt. Ich habe auf dem Bereich der gelöscht werden soll, eine bedingte Formatierung.
Da ich VBA-Neuling bin: Was meinst Du mit "Setze Haltepunkte z.b. mit F9". Meint Haltepunkte Anführungsstriche? Und "Zum prüfen ob dein Code dorthin kommt, kannst mit mittels debug.print Informationen ins Direktfenster schreiben und sie später kontrollieren." Schreibe ich das in den MakroCode?
Danke Susanne

Betrifft: AW: Makro startet und bricht dann ab
von: ralf_b
Geschrieben am: 24.10.2020 23:51:42

ja in den Makrocode. z.b. debug.print "in sub loeschen" schreibst du in deine sub.
Haltepunkte werden im Codefenster gesetzt. Bitte Weiteres selbst recherchieren.

Betrifft: AW: Makro startet und bricht dann ab
von: onur
Geschrieben am: 24.10.2020 15:22:18

If Cells(c, 27).Value = "1" ???

Steht da ECHT der TEXT "1" ???

Betrifft: AW: Makro startet und bricht dann ab
von: Susanne
Geschrieben am: 24.10.2020 18:03:27

Hallo onur,

sorry nein, da steht

If Cells(c, 27).Value = 1

Ich habe jetzt festgestellt, dass das Makro davor und auch danach durchgeführt wird. Ich verstehe nicht, warum da ein Stopp gemacht wird?

Gruß
Susanne