Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1556to1560
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
Inhaltsverzeichnis

Zahlenfolge überfrüfen, Zeile über/unter löschen

Zahlenfolge überfrüfen, Zeile über/unter löschen
11.05.2017 13:37:24
Frank
Hallo liebe Excel Gemeinde,
ich habe folgendes Problem und ich hoffe Ihr könnt mir dabei helfen es zu lösen. Ich bin noch ein Anfänger auf dem Gebiet der VBA und taste mich langsam an die Thematik heran. Leider konnten mir die Themen in den Foren nicht weiter helfen, weil ich nicht in der Lage war, deren Lösungen auf mein konkretes Problem anzupassen.
Ich habe im Arbeitsblatt - Tabelle2 eine große Menge an Daten. In der Spalte C befinden sich mehre Ziffern untereinander bis ca. Zeile 30.000
Im Arbeitsblatt – Tabelle1 gebe ich in den Zellen B23 und D23 jeweils eine Ziffer ein.
Im Arbeitsblatt – Tabelle4 werden die Daten dann „gefiltert“ aufgelistet. (Siehe Screenshoot).
Userbild
In diesem Fall nach den Ziffern 5 und 7 – soweit so gut.
Hier der dazugehörige Code:
Sub Filtern()
Dim Zeile As Long
Dim ZeileMax As Long
Dim n As Long
Dim ziffera As Long
Dim zifferb As Long
ziffera = Range("B23")
zifferb = Range("D23")
With Tabelle2
ZeileMax = .UsedRange.Rows.Count
n = 1
For Zeile = 2 To ZeileMax
If .Cells(Zeile, 3).Value = ziffera Or .Cells(Zeile, 3).Value = zifferb Then
.Rows(Zeile).Copy Destination:=Sheets("Tabelle4").Rows(n)
n = n + 1
End If
Next Zeile
End With
End Sub
Nun das konkrete Problem:
Wenn die Ziffer, die in der Zelle B23 (Tabelle1) eingegeben wird, in diesem Fall 5, doppelt untereinander steht (vgl. Zeile 13 und 14), dann soll jeweils die oberen der beiden Zeilen gelöscht werden.
Wenn die Ziffer, die in der Zelle D23 (Tabelle1) eingegeben wird, in diesem Fall 7, doppelt untereinander steht (vgl. Zeile 23 und 24), dann soll jeweils die untere der beiden Zeilen gelöscht werden.
Die erste Zeile sollte in der Zelle C1 immer den Wert aus der Zelle B23 (Tabelle1) haben und die letzte Zelle Cx (variabler Wert) immer den Wert aus der Zelle D23 (Tabelle1). Wenn das nicht der Fall sein sollte, sollen die Zeilen gelöscht werden.
Ich hoffe Ihr könnt mir weiterhelfen und freue mich auf eure Lösungsvorschläge.
Vielen Dank
Gruß Frank

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlenfolge überfrüfen, Zeile über/unter lösch
11.05.2017 16:34:07
Daniel
Hi
probiers mal so:
hier wird vor dem Einfügen geprüft, was in der Zelle obendrüber steht.
im ersten Fall (2x B23 nacheinander) wird die bestehende Zeile überschrieben, so dass die zweite übernommen wird
im zweiten Fall (2x D23 nacheinander) wird die neue Zeile nicht eingefügt, so dass die erste übernommen wird.
Sub Filtern()
Dim Zeile As Long
Dim ZeileMax As Long
Dim n As Long
Dim ziffera As Long
Dim zifferb As Long
ziffera = Range("B23")
zifferb = Range("D23")
With Tabelle2
ZeileMax = .UsedRange.Rows.Count
n = 1
For Zeile = 2 To ZeileMax
Select Case .Cells(Zeile, 3)
Case ziffera
If Sheets("Tabelle4").Cells(n, 3) = ziffera Then
.Rows(Zeile).Copy Destination:=Sheets("Tabelle4").Rows(n)
Else
n = n + 1
.Rows(Zeile).Copy Destination:=Sheets("Tabelle4").Rows(n)
End If
Case zifferb
If Sheets("Tabelle4").Cells(n, 3)  zifferb Then
n = n + 1
.Rows(Zeile).Copy Destination:=Sheets("Tabelle4").Rows(n)
End If
Case Else
End Select
Next Zeile
End With
End Sub

Gruß Daniel
Anzeige
AW: Zahlenfolge überfrüfen, Zeile über/unter lösch
11.05.2017 18:50:50
Frank
Hallo Daniel,
vielen, vielen Dank. Es klappt. Wunderbar. Ich ziehe meinen Hut vor dir.
Ich wünsche einen schönen Abend.
Gruß Frank

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige