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

Makro-Ausführung nach Zeile löschen?

Forumthread: Makro-Ausführung nach Zeile löschen?

Makro-Ausführung nach Zeile löschen?
29.04.2008 13:12:02
Robin
Hallo alle zusammen,
ich hab mich die Tage schon damit abgekämpft, ein Makro nach Änderung einer Zelle auszuführen. Jetzt passiert es aber, dass ich nicht nur Werte in einer Zelle ändern will, sondern auch Zeilen löschen. Wie frage ich das denn am besten ab als Bedingung für eine Makroausführung? Mein Code bis jetzt sieht so aus:

Private Sub Worksheet_Change(ByVal Target As Range)
Call StrukturEinle
If Intersect(Target, Me.Range("A" & ErstSchraubZeile, "C" & LetzteSchraubZeile)) Is Nothing   _
_
Then Exit Sub
Application.EnableEvents = False
Call alle_tabellen_ändern(Target.AddressLocal)
Application.EnableEvents = True
End Sub


Beim Löschen einer Zeile gibt das Makro in dieser Form einen Fehler aus in der Zeile mit Intersect.
Viele Grüße und vielen Dank für eure Hilfe
Robin

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro-Ausführung nach Zeile löschen?
29.04.2008 17:53:34
Jürgen
Da ich nicht weiss, was das Makro eigentlich so alles machen soll und was in den aufgerufenen Funktionen passiert, kann ich nur allgemein etwas zu Deiner Frage sagen: Worksheets_Change() reagiert nicht nur, wenn der Inhalt einer Zelle geändert wir, sondern immer auch dann, wenn man eine ganze Zeile löscht. Ein einfacher Test zeigt dies:

Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox ("Ich habe reagiert")
End Sub


Das Ereignis kannst Du dann z.B. auslösen durch:
Sub Zeile_löschen()
ActiveSheet.Cells(5, 1).EntireRow.Delete
End Sub


Die Fehlermeldung hat also offensichtlich nichts mit Worksheets_Change() zu tun, sondern muss andere Ursachen haben.
Gruß
Jürgen

Anzeige
AW: Makro-Ausführung nach Zeile löschen?
30.04.2008 09:11:48
Robin
Hallo Jürgen,
vielen Dank schonmal für die Antwort! Dass die Fehlermeldung nichts mit dem Worksheet_Change zu tun hat, ist mir eigentlich auch klar. Ich gehe davon aus, dass die Intersect-Funktion rausfliegt. Wie sieht denn das Range-Objekt aus, wenn ich eine ganze Zeile markiert hab? Range("A1:IV1")?
Die Frage ist: Wie kann ich abfragen, ob eine ganze Zeile markiert und gelöscht wurde oder nur eine Zelle verändert?
Gruß
Robin

Anzeige
AW: Makro-Ausführung nach Zeile löschen?
02.05.2008 00:57:49
Jens
Hallo Robin

Wie sieht denn das Range-Objekt aus, wenn ich eine ganze Zeile markiert hab? Range("A1:IV1")?


Rows("1:1")
Gruß aus dem Sauerland
Jens
PS: Frage noch offen, da die Zweite Antwort noch fehlt.

AW: Makro-Ausführung nach Zeile löschen?
04.05.2008 07:54:27
Wuxinese
Hallo Robin,
ich kann nur von dem kurzen Codeabschnitt gar nix sagen. Aber was mir dazu spontan einfaellt: Wo sind denn die Variablen 'ErstSchraubZeile' & 'LetzteSchraubZeile' definiert? Oder sind das Funktionen. Wenn das naemlich keine globalen Variablen sind dann koennte das der Fehler sein!
Gruss
Rainer

Anzeige
AW: Makro-Ausführung nach Zeile löschen?
06.05.2008 08:43:00
Robin
hallo alle zusammen, an den Variablen lag es auf jeden Fall nicht. Hab das mit dem Löschen jetzt über einen Eintrag im Kontextmenü gelöst, das ist die einfachste Variante. Aber trotzdem allen vielen Dank für die Tipps!

AW: Makro-Ausführung nach Zeile löschen?
04.05.2008 11:58:00
Jens
Hi,

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = Columns.Count And _
Target.Rows.Count = 1 Then
[a1] = "Eine ganze Zeile"
Else
[a1] = "Keine Zeile"
End If
End Sub


mfg Jens

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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