Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
972to976
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

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.

Anzeige
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

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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige