Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1580to1584
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

Doppelte Sätze markieren oder entfernen

Doppelte Sätze markieren oder entfernen
20.09.2017 12:52:05
Hr.Hans-Joachim
Hallo Zusammen!
Ich habe folgende Problematik.
Aus einer Lohnabrechnung werden die Korrekturwerte aufgeführt. Die vorhergehenden Werte sollten demnach entfernt oder gekennzeichnet werden.
Dies würde ich gerne per VBA organisieren. Kann mir jemand weiterhelfen?
Vorab schon mal vielen Dank!
https://www.herber.de/bbs/user/116392.xlsx

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelte Sätze markieren oder entfernen
20.09.2017 13:00:06
Bernd
Hi,
Sub Zeilen_loeschen()
Dim rng As Range
Set rng = ActiveSheet.Range("I2:I100").Find(what:="X", lookat:=xlWhole)
If rng Is Nothing Then
Exit Sub
Else
rng.EntireRow.Delete
End If
Do
Set rng = ActiveSheet.Cells.FindNext
If rng Is Nothing Then
Exit Sub
Else
rng.EntireRow.Delete
End If
Loop
End Sub
MfG Bernd
AW: Doppelte Sätze markieren oder entfernen
20.09.2017 14:02:08
Gerd
Hallo,
wenn dies die Frage war?
Sub Gekennzeichnete_Zeilen_loeschen_2()
Dim RNG As Range
Set RNG = ActiveSheet.Columns(9).Find(what:="X", lookat:=xlWhole, LookIn:=xlValues,  _
MatchCase:=False)
If Not RNG Is Nothing Then
Do
RNG.EntireRow.Delete
Set RNG = ActiveSheet.Columns(9).FindNext
Loop Until RNG Is Nothing
End If
End Sub
Gruß Gerd
Anzeige
AW: Doppelte Sätze markieren oder entfernen
21.09.2017 18:26:33
Daniel
ich gehe ja mal nicht davon aus, das einfach nur die Zellen mit "X" gelöscht werden sollen, sondern dass die eigentliche Aufgabe ist, diese "X" erstmal zu setzen.
Aber auch wenn nur gelöscht werden soll, dann ist das immer noch zu aufwendig.
da die Zeile mit dem "X" gelöscht wird, brauchts auch kein FIND NEXT.
On Error Resume Next
Do
Columns(9).find(what:="x", lookin:=xlvalues, lookat:=xlwhole).EntireRow.Delete
Loop while err = 0
On error goto 0
oder noch einfacher, wenn die leeren Zellen stehen bleiben sollen:
Columns(9).SpecialCells(xlcelltypeconstants, 2).EntireRow.Delete
Gruß Daniel
Anzeige
AW: Doppelte Sätze markieren oder entfernen
20.09.2017 14:33:15
Daniel
Hi
ich gehe mal im Gegensatz zu den bisherigen Antworten davon aus, dass das "X" in Spalte I normalerweise nicht vorhanden ist und die zu löschenden Zeilen aus den bis Spalte H vorhandenen Daten ermittelt werden müssen:
probier mal das.
die zu löschenden Zeilen werden erstmal nur selektiert, damit du prüfen kannst, ob das Makro richtig arbeitet.
Wenns funktioniert, ersetze das .Select durch .EntireRow.Delete
Sub LöschenSpezial()
Dim arr
Dim z As Long
Dim größterAbrMonat As Object
Dim JahrMonatMA As String
Dim rngLösch As Range
Set größterAbrMonat = CreateObject("scripting.dictionary")
arr = Cells(1, 1).CurrentRegion.Value
'--- Größten Abrechnungsmonat für jeden Monat ermitteln
For z = 2 To UBound(arr, 1)
JahrMonatMA = arr(z, 1) & "-" & arr(z, 2) & "-" & arr(z, 3)
If arr(z, 8) > größterAbrMonat(JahrMonatMA) Then größterAbrMonat(JahrMonatMA) = arr(z, 8)
Next
'--- Wenn Zeile nicht zum größten Abrechnungsmonat gehört, zum löschen kennzeichnen.
For z = 2 To UBound(arr, 1)
JahrMonatMA = arr(z, 1) & "-" & arr(z, 2) & "-" & arr(z, 3)
If arr(z, 8) 

Gruß Daniel
Anzeige
AW: Doppelte Sätze markieren oder entfernen
21.09.2017 09:24:18
Hans-Joachim
Hallo Daniel!
Vielen herzlichen Dank!!!! Funktioniert bestens!
Gruß aus Bayern
Hans
Hallo Hans,
21.09.2017 16:50:20
Bernd
freut uns/mich wenn Daniels Vorschlag funktioniert, aber es haben sich auch andere
Mühe gemacht !!!
MfG Bernd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige