Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
952to956
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
952to956
952to956
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeilen löschen - Fehler in Makro

Zeilen löschen - Fehler in Makro
26.02.2008 18:54:30
Fred
Hallo,
ich möchte ein Makro schreiben, was bei Eingabe eines bestimmten Textes in eine bestimmte Zelle ein Makro startet. Ich habe zu testzwecken folgendes gebastelt

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Cells(1, 1) And Target.Value = "Dies ist ein Test" Then
MsgBox ("Dies ist ein Test")
End If
End Sub


In dem Beispiel poppt eine MessageBox auf, sobald man den Text "Dies ist ein Test" in Zelle A1 schreibt. Das funktioniert auch soweit. Allerdings erhalte ich jedes Mal eine Fehlermeldung, sobald ich Zeilen bzw. Spalten im Sheet lösche? Weiß jmd. woran das liegen könnte? Vielen Dank für eure Hilfe!
Gruß
Fred

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen - Fehler in Makro
26.02.2008 19:15:00
Chris
Servus Fred,
mach's so:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target = Cells(1, 1) And Target.Value = "Dies ist ein Test" Then
MsgBox ("Dies ist ein Test")
End If
End Sub


Die Fehlermeldung kommt durch die Mehrfachselektion. Hier kann kein Target zugeordnet werden.
Gruß
Chris

AW: Zeilen löschen - Fehler in Makro
26.02.2008 19:16:00
Renee
Hi Fred,
Schliesse alle anderen Zellbereiche vom Change Event aus.
Die erste Codezeile in der Sub sollte lauten:

If Intersect(target, Range("A1")) is nothing Then Exit sub


GreetZ Renée

Anzeige
AW: Zeilen löschen - Fehler in Makro
26.02.2008 19:17:16
Luschi
Hallo Fred,
ändere das Makro so ab:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count = 1 Then
If Target = Cells(1, 1) And Target.Value = "Test" Then
MsgBox ("Dies ist ein Test")
End If
End If
End Sub

Gruß von Luschi
aus klein-Paris

AW: Zeilen löschen - Fehler in Makro
26.02.2008 19:22:00
Renee
Hi Fred,
Ergänzung: Der Vergleich von target mit Cells(1,1) ist Quatsch.
So als Ganzes:

Private Sub Worksheet_Change(ByVal Target As Range)
If intersect(target, Range("A1")) is nothing or target.cells.count > 1 then exit sub
If Target.Value = "Dies ist ein Test" Then
MsgBox ("Dies ist ein Test")
End If
End Sub


GreetZ Renée

Anzeige
AW: Zeilen löschen - Fehler in Makro
26.02.2008 19:25:00
Fred
Super, vielen Dank für eure Antworten!!!!!!!!

AW: Zeilen löschen - Fehler in Makro
26.02.2008 19:30:37
Fred
Hi Renee,
was meinst Du mit "Quatsch"? In meinem ursprünglichen Code war es doch die einzige Möglichkeit festzulegen, bei welcher Zelle das Makro starten soll, oder nicht? In Deinem Vorschlag brauche ich es hingegen nicht mehr. Oder meinst Du, dass der Vergleich von target mit Cells(1,1) per se Quatsch ist? Wenn ja, warum? Sorry, dass ich frage, aber für mich ist das alles relativ neu.
Gruß
Fred

AW: Zeilen löschen - Fehler in Makro
26.02.2008 20:03:02
Chris
Servus Fred,
weil du mit Target = Cells(1,1) eigentlich die Inhalte der Zellen target und A1 vergleichst (Glück das es geht) . Die sind hier nämlich gleich.
Die richtige Schreibweise ist:
If Target.Address = "$A$1" oder eben If Not Intersect(Target,Range("A1")) is Nothing, um die Zelle A1 anzusprechen.
Gruß
Chris

Anzeige
AW: Zeilen löschen - Fehler in Makro
26.02.2008 21:03:00
Renee
Hi Fred,
Das Change Ereignis wird bei jeder Änderung in der Tabelle durchlaufen. Darum sollte als erstes immer aus der Routine ausgestiegen werden, wenn nicht eine Zelle betroffen ist, die du überprüfen willst.
D.h. wenn du in der Zelle K97 ein Änderung machst, vergleichst du den (neuen) Inhalt von K97 mit der Zelle A1 und das ist Quatsch.
Das war nicht als Beleidigung an Dich gemeint, sondern als Selbstkritik an mich, weil mir das beim ersten Lesen des Codes nicht aufgefallen ist.
GreetZ Renée

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige