Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro funzt nicht

Forumthread: Makro funzt nicht

Makro funzt nicht
17.04.2017 10:33:37
Franzl
Hallo Excelianer,
leider bin ich nicht der VBA-Spezialist und wende mich an Euch.
In der Beispieldatei möchte ich gerne bei aktivierter CheckBox, dass die entsprechenden Daten in die jeweilige Monatsdatei/Jahresdatei kopiert werden. Das klappt auch.
Nur wenn ich etwas lösche, z.B. den Datensatz, dann bleibt er in der jeweiligen Monatsdatei vorhanden. Ausserdem muss die "Mutterdatei" jedesmal explicit gespeichert werden, ansonsten kommt der Debug-Fehler?
Das Makro hatte ich von fcs, vielleicht kommt da eine Hilfe?
Hier die Beispieldatei (leider in der 2007er-Version, da 2010er-Version kein UpLoad möglich war) https://www.herber.de/bbs/user/112920.xls
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro funzt nicht
18.04.2017 10:08:51
fcs
Hallo Franzl,
im Makro für Commandbutton5 musst du am Ende den als "neu" gekennzeichneten Abschnitt einfügen.
Dann sollten die im Blatt mit allen Datensätzen gelöschten Zeilen im Monatsblatt bei Aktualisierung ebenfalls gelöscht werden.
Bitte unbedingt in einer Kopie testen, denn gelöscht ist gelöscht.
Gruß
Franz
                        Next
'#### - Anfang neu
'gelöschte Datensätze ermitteln und löschen
With wksMonat
Zeile_M = .Cells(.Rows.Count, 2).End(xlUp).Row
End With
For Zeile_A = Zeile_M To 2 Step -1
'ID in Zieldatei-Datei suchen
Set Zelle_M = .Columns(1).Find(what:=wksMonat.Cells(Zeile_A, 1), _
LookIn:=xlValues, lookat:=xlWhole)
If Zelle_M Is Nothing Then
'gelöschter Datensatz
wksMonat.Rows(Zeile_A).Delete shift:=xlShiftUp
Else
'do nothing
End If
Next Zeile_A
'##### - Ende neu
'Monatsdatei speichern und schliessen
wkbMonat.Close savechanges:=True
Set wkbMonat = Nothing
Set wksMonat = Nothing
'Erstellte Monatsdatei ohne Speichern schliessen
wkbZiel.Close savechanges:=False
End If
End If
Set wkbZiel = Nothing
Set wksZiel = Nothing
End With
End If
Next intJ
Beenden:
Set wkbAll = Nothing
Set wksAll = Nothing
Application.ScreenUpdating = True
Me.Show 'userform wieder anzeigen
End Sub

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige