773 Aufrufe
in Tabellenkalkulation von
Hallo,

ich habe eine Liste mit 25000 Zeilen (Spalte A-I).
In Spalte I habe ich Daten aus Spalte A+C verkettet. Hieraus ergeben sich doppelte Werte. Ich möchte jeden Wert aber nur 1x angezeigt bekommen.
Hat jemand ein passenden Makro für mich?

Gruß,
Colatrinkerin

4 Antworten

0 Punkte
von m-o Profi (22.9k Punkte)
Hallo,

das folgende Makro blendet Zeilen aus, wenn in Spalte I ein Wert mehrfach vorhanden ist:
Sub ohnedoppel()

Dim lngLetzte As Long
Dim lngZeile As Long

'letzte Zeile in Spalte I ermitteln
lngLetzte = ActiveSheet.Cells(Rows.Count, 9).End(xlUp).Row

For lngZeile = lngLetzte To 1 Step -1
With ActiveSheet
'Mit Zählenwenn prüfen, ob Inhalt mehrmals auftaucht und falls ja, dann Zeile ausblenden
If Application.WorksheetFunction.CountIf(Range(.Cells(lngZeile, 9), .Cells(1, 9)), .Cells(lngZeile, 9)) > 1 Then .Rows(lngZeile).EntireRow.Hidden = True
End With
Next lngZeile

End Sub

Und wenn du alle ausgeblendeten Zeilen wieder einblenden willst:
Sub ZeilenEinblenden()
ActiveSheet.UsedRange.Rows.Hidden = False
End Sub


Beide Makros gehören in ein allgemeines Modul deiner Arbeitsmappe.

Gruß

M.O.
0 Punkte
von
Hi M.O.,

ich habe beide Makros gerade hinterlegt. Excel rödelt sich noch zurecht...
Kurze Rückfrage:
Das Makro prüft jetzt ja die letzte beschriebe Zeile, oder? Da ich Formeln bis Zeile 25000 hinterlegt habe, prüft Excel natürlich bis dahin durch.
In Spalte A ist keine Formel hinterlegt. Kann man das Makro so verändern, dass Excel die Prüfung abschließen kann, wenn in Spalte A die letzte Zeile erreicht wurde? Vielleicht gehts dann etwas schneller :-)
0 Punkte
von m-o Profi (22.9k Punkte)
Hallo,

dann ändere die Zeile
'letzte Zeile in Spalte I ermitteln
lngLetzte = ActiveSheet.Cells(Rows.Count, 9).End(xlUp).Row

in
'letzte Zeile in Spalte I ermitteln
lngLetzte = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row


Gruß

M.O.
0 Punkte
von
Perfekt ! Vielen herzlich Dank.
Leider kann ich kein "Problem gelöst" Button vergeben, weil ich mich nicht registrieren kann. Da gibts wohl irgendein technisches Problem.

Schönes Wochenende

Deine Antwort

Dein angezeigter Name (optional):
Datenschutz: Deine Email-Adresse benutzen wir ausschließlich, um dir Benachrichtigungen zu schicken. Es gilt unsere Datenschutzerklärung.
Anti-Spam-Captcha:
Bitte logge dich ein oder melde dich neu an, um das Anti-Spam-Captcha zu vermeiden.
...