Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel vba: Zeilen im Autofilterbereich auswählen
#1
Hallo zusammen,

könnte ich bitte mal wieder Eure Hilfe beanspruchen?

In einer ellenlangen Liste mit mehreren tausend Zeilen kommen eine unterschiedlich Anzahl von Doppel-Einträgen vor.
Die Doppel-Einträge habe ich bereits mittels Makro ermittelt und die Zellen wo sie vorkommen rot hinterlegt. Aber immer nur eine Zelle der Doppelten wird rot hinterlegt.
Mit dem Autofilter filtere ich dann auf einen bestimmten Wert in Liste - jetzt werden mir alle doppelten Werte angezeigt - der rot hinterlegte Block und der nicht farblich hinterlegte Block der doppelten Werte.

Was ich nun bräuchte ist ein automatische Selectierung (mit vba) aller rot hinterlegten Zellen - die anschließend gelöscht werden sollen. Selectieren deshalb, weil ich vor dem löschen noch einen Blick auf die Auswahl haben möchte.

Also einfach ausgedrückt - in einem gefilterten Bereich sollen alle roten Zeilen ausgewählt werden.

Habt Ihr mir ev. dazu einen Lösungsvorschlag?

Vielen Dank!
Mit freundlichen Grüßen / Best regards
                          //
----------o00o---°(_)°---o00o----------------------

Erich
Antworten Top
#2
Hallo Erich,

wozu markierst Du die Zellen erst rot und selektierst sie nicht gleich?

Gruß Uwe
Antworten Top
#3
Hallo,

Du bist jetzt schon so lange dabei und hast immer noch nicht kapiert, daß man,
will man Hilfe zu einem bestehenden Makro haben, dieses auch zeigen sollte?

Traurig, traurig, traurig. :16: :22:
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#4
Hallo Uwe,

Du hast recht das ist eine Möglichkeit - möchte die Daten aber zunächst nochmals in Augenschein nehmen bevor sie gelöscht werden sollen.
Sozusagen ein Doppelcheck.
Mit freundlichen Grüßen / Best regards
                          //
----------o00o---°(_)°---o00o----------------------

Erich
Antworten Top
#5
Hallo Erich,

oder so, aber jedenfalls hast Du ja schon eine Routine, welche diese Zellen herausfindet.

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • sharky51
Antworten Top
#6
Hallo Käpt'n,

guter Einwand - wenn ich bereits ein Grundgerüst hätte würde ich es auch gerne herzeigen.

Aber das Modul für das "rot" markieren kann ich zeigen.
Ist ursprünglich von H. Hennekes und habe es mit meinen bescheidenen Kenntnissen etwas abgeändert.

Code:
Public Sub Doppelte_Farbmarkierung()
'################################################
'Code für ein allgemeines Modul
'Autor: Jürgen Hennekes
'################################################
Dim objDic As Object
Dim strString As String
Dim lngZ As Long
Dim lngLast As Long

Set objDic = CreateObject("Scripting.Dictionary")
lngLast = Cells(Rows.Count, 3).End(xlUp).Row

For lngZ = lngLast To 11 Step -1
 strString = Cells(lngZ, 3).Value & Cells(lngZ, 4).Value & Cells(lngZ, 5).Value & Cells(lngZ, 6).Value & Cells(lngZ, 7).Value _
 & Cells(lngZ, 8).Value & Cells(lngZ, 9).Value & Cells(lngZ, 10).Value & Cells(lngZ, 11).Value & Cells(lngZ, 12).Value & Cells(lngZ, 13).Value _
 & Cells(lngZ, 14).Value & Cells(lngZ, 15).Value & Cells(lngZ, 16).Value & Cells(lngZ, 17).Value & Cells(lngZ, 18).Value & Cells(lngZ, 19).Value _
 & Cells(lngZ, 20).Value & Cells(lngZ, 21).Value & Cells(lngZ, 22).Value & Cells(lngZ, 23).Value & Cells(lngZ, 24).Value & Cells(lngZ, 25).Value
 
   If objDic.Exists(strString) = False Then
     objDic(strString) = 0
       Else
     'Cells(lngZ, 1).EntireRow.Delete
     Range(Cells(lngZ, 3), Cells(lngZ, 25)).Interior.ColorIndex = 3
   End If
Next
End Sub
Mit freundlichen Grüßen / Best regards
                          //
----------o00o---°(_)°---o00o----------------------

Erich
Antworten Top
#7
Hallo Uwe,

ja stimmt - kuckst Du bitte unten.
Mit freundlichen Grüßen / Best regards
                          //
----------o00o---°(_)°---o00o----------------------

Erich
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste