Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
684to688
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
684to688
684to688
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Mit Makro Zeilen löschen - #BEZUG!

Mit Makro Zeilen löschen - #BEZUG!
26.10.2005 11:12:33
Daniel
Hallo,
ich habe in einem Tabellenblatt mehrere Formeln stehen.
Wenn nun eine dieser Formeln in der Spalte A #BEZUG! auswirft, so soll ein Makro automatisch die komplette Zeile löschen.
Wie geht das per Makro?
Für Hilfe wäre ich dankbar,
Daniel

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit Makro Zeilen löschen - #BEZUG!
26.10.2005 11:34:47
regina

Sub ZeilenLoeschen()
Hallo,
Dim lR%, i%
Worksheets(1).Select
lR = Cells(Rows.Count, 1).End(xlUp).Row
For i = lR To 1 Step -1
If Cells(i, 1)="#Bezug" then
Rows(i).Delete                         'Ganze Zeile löschen
End If
Next i
End Sub

Probier das mal
Gruß Regina
AW: Mit Makro Zeilen löschen - #BEZUG!
26.10.2005 11:37:03
Daniel
Hallo,
das klappt nicht. Das #BEZUG" ergibt sich ja aus einer Formel. Vielleicht liegt es daran.
Das Makro müsste auch immer im Hintergrund ablaufen.
Danke,
Daniel
AW: Mit Makro Zeilen löschen - #BEZUG!
26.10.2005 11:43:15
regina
Hallo,
Zeig doch mal die Formel, die den 'Bezug erzeugt, vielleicht kann man das ja umgehen.
Gruß
Regina
Anzeige
AW: Mit Makro Zeilen löschen - #BEZUG!
26.10.2005 11:45:06
Daniel
Im Prinzip ist die Formel =Blatt1! A2.
Der Fehler entsteht dadurch, dass im Blatt1 diese Zellen gelöscht werden. Dies lässt sich aber nicht umgehen. Und da es sich um zig Zeilen handelt, ist das per Hand zu löschen sehr schlecht.
Gruß
Daniel
AW: Mit Makro Zeilen löschen - #BEZUG!
26.10.2005 11:44:27
Harald
Hi Daniel,
das Ganze per Call wechdamit einem selbstgewählten Sheet-Ereignis (z.B. Worksheet_Calculate)zuordnen
(nicht vergessen, die Bereiche korrekt anzugeben, ggf Ausstiegparameter definieren)

Sub wechdamit()
For i = 1 To 5
If IsError(Cells(i, 3)) Then
Rows(i).Delete
End If
Next i
End Sub

Anzeige
AW: Mit Makro Zeilen löschen - #BEZUG!
26.10.2005 12:00:17
Daniel
Ok, wwelches Sheet-Ereignis muss ich benutzen, dass das komplett im Hintergrund ausgeführt wird ohne das ich in das Blatt reinklicken muss?
Grüße,
Daniel
AW: Mit Makro Zeilen löschen - #BEZUG!
26.10.2005 12:27:25
Harald
Z.B. ins erste Blatt.
Bei jeder Rechenoperation (nicht bei einer normalen Eingabe) läuft der Code los und löscht ggf. in Blatt 2

Private Sub Worksheet_Calculate()
For i = 5 To 1 Step -1
If IsError(Sheets(2).Cells(i, 3)) Then
Sheets(2).Rows(i).Delete
End If
Next i
End Sub

Gruß
Harald
AW: Mit Makro Zeilen löschen - #BEZUG!
26.10.2005 13:25:29
Daniel
Verstehe leider nicht wie ich das nun anpasse, wenn Blatt 1 "Auswertung" und Blatt 2 "Bericht" heißt. Wie sieht der Code dann aus?
Danke für die Hilfe,
Daniel
Anzeige
AW: Mit Makro Zeilen löschen - #BEZUG!
26.10.2005 13:42:25
Harald
Daniel,
Sheets(1)..oder...Sheets("Auswertung")
Beides hat Vor- und Nachteile
Wenn der Code im Blattmodul steht, gilt er grundsätzlich nur für dieses Blatt.
Sollen Werte oder Bedingungen aus anderen Sheets gelten bzw. Aktionen in anderen Sheets durchgeführt werden, muss das explizit vor jeder !!! Range-Angabe angegeben werden.
Hier ein Bsp, wenn Du den Code ins Blattmodul von Sheet("Auswertung") schreibst.

Private Sub Worksheet_Calculate()
For i = 5 To 1 Step -1
If IsError(Sheets("Bericht").Cells(i, 3)) Then
Sheets("Bericht").Rows(i).Delete
End If
Next i
End Sub

Viel Erfolg
Harald
Anzeige
Danke! o.T.
26.10.2005 13:51:03
Daniel
..
Doch noch etwas
26.10.2005 14:06:29
Daniel
Da ist doch noch ein Fehler:
Wenn ich eine andere Datei geöffnet habe, dann wird der Code trotzdem ausgeführt. Entsprechend verursacht das Makro dann einen Fehler.
Das Makro soll also nur ausgeführt werden, wenn die Datei auch aktiv geöffnet ist.
Kannst du mir das auch noch zeigen?
Danke,
Daniel
AW: Mit Makro Zeilen löschen - #BEZUG!
26.10.2005 14:38:44
Harald
if activeworkbook.name "DeineArbeitsmappe.xls" then exit sub
Dank Dir! o.T.
26.10.2005 14:42:39
Daniel
...
gerne ;-)) o.T.
26.10.2005 15:13:51
Harald

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige