Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Löschen von Zeilen

Forumthread: Löschen von Zeilen

Löschen von Zeilen
12.09.2004 09:44:05
Zeilen
Hallo EXCEL-Freunde,
ich suche eine VBA-Lösung für folgendes Problem:
In nachstehender Tabelle 2 sollen alle Zeilen gelöscht werden, deren Nr. der Spalte A in Tabelle 1 in der Spalte B mit erledigt gekennzeichnet ist. Die Zahlen sind nicht in irgendeiner Form sortiert.
Besten Dank für eine Hilfe!

Tabelle1
 AB
1NrStatus
21234neu
32345erledigt
44567neu
56789erledigt
 
Tabelle2
 AB
1Nr 
26789löschen ?
32345 
44567 
51234 
66750 
72345löschen ?
85430 
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
mfg
Erich
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Löschen von Zeilen
Zeilen
Hallo Erich,
so z.B.:
diesen Code mußt du in die Selection_Change-Eigenschaft des Tabellenblattes im VBA-Editor zuweisen:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Zeile As Integer, Zeile1 As Integer, i As Integer Zeile1 = 2 i = 2 While Sheets(1).Cells(i, 1) <> "" i = i + 1 Wend For Zeile = 2 To i If Cells(Zeile, 2) = "erledigt" Then Sheets(1).Range(Cells(Zeile, 1), Cells(Zeile, 2)).Delete shift:=xlUp: Exit Sub End If Next Zeile End Sub
Grüße
Mike
Anzeige
AW: Löschen von Zeilen
Zeilen
Hallo Mike,
leider läuft der Code nicht durch; zudem wäre die Frage in welcher Tabelle.
Code von Annett ist aber super.
mfg
Erich
AW: Löschen von Zeilen
Zeilen
Probiere mal das:
Sub ZeileLöschen() Dim intZeile As Integer, intI As Integer intZeile = Sheets("Tabelle1").Cells(Rows.Count, 2).End(xlUp).Row For intI = intZeile To 1 Step -1 If Sheets("Tabelle1").Cells(intI, 2).Value = "erledigt" Then Rows(intI).Delete Next intI End Sub
Anzeige
AW: Löschen von Zeilen
Zeilen
Hallo Peter,
besten Dank - leider löscht der code aber die gleiche Zeile in der Tabelle - darf
aber nicht sein.
Code von Annett läuft aber.
mfg
Erich
AW: Löschen von Zeilen
Zeilen
Du hast Recht, ich habe die Aufgabenstellung nicht richtig gelesen.
AW: Löschen von Zeilen
12.09.2004 10:27:02
Zeilen
Hallo Erich,

Sub Zeilen_loeschen()
Dim I As Long
Dim J As Long
Dim Letzte1 As Long
Dim Letzte2 As Long
Letzte1 = 65536
With Worksheets("Tabelle1")
If .Range("A65536") = "" Then Letzte1 = .Range("A65536").End(xlUp).Row
End With
Letzte2 = 65536
With Worksheets("Tabelle2")
If .Range("A65536") = "" Then Letzte2 = .Range("A65536").End(xlUp).Row
End With
For I = Letzte1 To 1 Step -1
For J = 1 To Letzte2
If Worksheets("Tabelle1").Cells(I, 1) = Worksheets("Tabelle2").Cells(J, 1) And _
Worksheets("Tabelle1").Cells(I, 2) = "erledigt" Then
Worksheets("Tabelle2").Rows(J).Delete
End If
Next J
Next I
End Sub

Gruß Annett
Anzeige
AW: Löschen von Zeilen
Zeilen
Hallo Annett,
Volltreffer! War genau das was ich gesucht habe.
Allerdings habe ich in meinen Tabellen das Problem der doppelten Nrn. entdeckt.
Erste Teillösung:
iRowL = Cells(Cells.Rows.Count, 1).End(xlUp).Row
For iRow = iRowL To 1 Step -1
If WorksheetFunction.CountIf(Columns(1), Cells(iRow, 1)) &gt 1 Then
MsgBox "Problem, es bestehen doppelte Nummern in Spalte A"
Exit Sub
End If
Next iRow
Damit kann ich den Vorgang abfangen, damit bei doppelten Nrn. keine falschen Löschungen
stattfinden.
Mein Problem jetzt:
Dieser Vorgang bezieht sich auf die aktivierte Tabelle - leider schaffe ich es nicht,
den Code so zu steuern, dass er
- zuerst die Tabelle 1, Spalte A
- dann die Tabelle 2, Spalte A
durchsucht undnur dann der Löschvorgang ausgeführt wird, wenn in den jeweiligen
Spalten keine Doppelten sind.
(Hast da sicher eine Idee)
Als Komfortlösung wäre dann die Anzeige der betroffenen Zeilen in der MsgBox mit den
Doppelten; da habe ich aber bestimmt was in meinem Fundus (von herber) und kann das
ergänzen.
Besten Dank nochmal.
mfg
Erich
Anzeige
AW: Löschen von Zeilen
12.09.2004 15:30:38
Zeilen
Hallo Erich,
kannst Du das Problem genauer erklären, vielleicht mit Beispieldatei. Ich habe den Code ohne Beispieldatei erstellt und habe jetzt keine Lust Extra eine zu erstellen. Wobei mir Dein Problem auch nicht ganz klar ist.
Gruß Annett
Anzeige
AW: Löschen von Zeilen
12.09.2004 17:19:26
Zeilen
Hallo Erich,
Activate und Select ist zu 99% in VBA nicht notwendig.
Gruß Annett
Anzeige
Danke - Annett; o.T. (vergess ich immer wieder)
Erich
.
;

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