Microsoft Excel

Herbers Excel/VBA-Archiv

Namen auflisten, doppelte löschen

Betrifft: Namen auflisten, doppelte löschen von: Kurt w
Geschrieben am: 12.10.2014 18:01:49

Guten Abend zusammen,
ich mal wieder eine Unterstützung.
Ich habe eine Tabelle, in der stehen ab D4 bis ende Namen.
Ende durch Spalte B bestimmt.
Ich möchte gern die Namen in Spalte H ab 4, auflisten und die doppelten
löschen.
Herzlichen Dank im Voraus,
gruß kurt w

  

Betrifft: AW: Namen auflisten, doppelte löschen von: Hajo_Zi
Geschrieben am: 12.10.2014 18:13:33

Hallo Kurt,


Tabelle2

 HIJKL
3HTTP://WWW.excelformeln.de/formeln.html?welcher=194
4Name1    
5Name2    
6Name3    
7Name4    
8Name5    
9Name6    
10Name7    
11     
12     

 verbundene Zellen 
H3:L3

verwendete Formeln
Zelle Formel Bereich N/A
H4{=INDEX(D: D;MIN(WENN(D4: D24<>"";ZEILE(4:24))))}$H$4 
H5:H12{=WENNFEHLER(INDEX(D: D;VERGLEICH(1;(ZÄHLENWENN($H$4:H4;$D$4:$D$24)=0)*($D$4:$D$24<>"");0)+3);"")}$H$5 
{} Matrixformel mit Strg+Umschalt+Enter abschließen
Matrixformeln sind durch geschweifte Klammern {} eingeschlossen
Diese Klammern nicht eingeben!!

Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 18.17 einschl. 64 Bit



GrußformelHomepage


  

Betrifft: DAnke Hajo aber kann man dies mit Makro, weil... von: Kurt w
Geschrieben am: 12.10.2014 18:23:13

Guten Abend Hajo,
herzlichen Dank für die Info.
Ich bräuchte dies, wenn möglich als Makro, da neben dem
Namen in Spalte "I" die Anzahl der Namen stehen soll.


Die Namen werden immer wieder durch eine andere Namensliste ergänzt,
deshalb der Wunsch nach einem Makro.

gruß Kurt w


  

Betrifft: AW: DAnke Hajo aber kann man dies mit Makro, weil... von: Daniel
Geschrieben am: 12.10.2014 18:28:26

HI

wenn du die Anzahl der Namen in Spalte I sehen willst, musst du in Zelle I4 die Formel =ZählenWenn(D:D;H4) eintragen. Das musst du eigentlich immer so machen, egal ob du die Duplikatfreie Liste von Hand, per Formel oder per Makro erstellt hast.

falls du ein Makro verwendest, kannst du das Einfügen der Formel natürlich auch durch das marko machen lassen:

Range("I4:I" & Cells(Rows.Count, 9).end(xlup).Row).FormulaR1C1 = "=CountIf(C4,RC8)"
Alternativ bietest sich hier auch die Auswertung mit Hilfe der Pivottabelle an.
Das geht mit ein paar Mausklickls.

Gruß Daniel


  

Betrifft: leider fehler... von: Kurt w
Geschrieben am: 12.10.2014 18:44:43

Hallo Daniel,
erst mal nochmals Danke.
Habe die Formel durch die Zeile ergänzt, allerdings wird die nicht
Richtig ausgeführt, die Formelen werden ab Zeile I1 reingesetzt und haben
dann natürlich nicht die richtigen Werte.

gruß kurt w


  

Betrifft: AW: leider fehler... von: Daniel
Geschrieben am: 12.10.2014 18:49:52

Hi
sorry hab die Falsche Spalte zum ermitteln der letzten Zeile ausgewählt, I ist natürlich leer, deswegen:

Cells(Rows.Count, 8)

die Daten stehen ja in Spalte H, dort muss auch die letzte befüllte Zeile ermittelt werden.

Gruß Daniel


  

Betrifft: AW: DAnke Hajo aber kann man dies mit Makro, weil... von: Hajo_Zi
Geschrieben am: 12.10.2014 18:29:02

für die Anzahl, braucht man kein Makro.

Tabelle2

 HIJKL
3HTTP://WWW.excelformeln.de/formeln.html?welcher=194
4Name13   
5Name23   
6Name33   
7Name43   
8Name53   
9Name63   
10Name73   
11     
12     
13     

 verbundene Zellen 
H3:L3

verwendete Formeln
Zelle Formel Bereich N/A
H4{=INDEX(D: D;MIN(WENN(D4: D24<>"";ZEILE(4:24))))}$H$4 
H5:H13{=WENNFEHLER(INDEX(D: D;VERGLEICH(1;(ZÄHLENWENN($H$4:H4;$D$4:$D$24)=0)*($D$4:$D$24<>"");0)+3);"")}$H$5 
I4:I13=WENN(H4="";"";ZÄHLENWENN(D4:$D$24;H4))  
{} Matrixformel mit Strg+Umschalt+Enter abschließen
Matrixformeln sind durch geschweifte Klammern {} eingeschlossen
Diese Klammern nicht eingeben!!

Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 18.17 einschl. 64 Bit



Ich habe die VBA freie Lösung erstellt, da nicht im Beitrag Stand VBA.
VBA überlasse ich anderen, da ja schon Lösung erstellt.

Gruß Hajo


  

Betrifft: Ja Du hast RECHT von: Kurt w
Geschrieben am: 12.10.2014 18:42:14

Hallo Hajo,
Daniel hatte dies auch schon geschrieben.
Kurt w


  

Betrifft: AW: Namen auflisten, doppelte löschen von: Daniel
Geschrieben am: 12.10.2014 18:23:12

HI

a) von Hand direkt in Excel:
1. Zellen ab D4-Ende kopieren und in H4 einfügen
2. auf die Eingefügten Zellen in H4 die Funktion DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN anwenden.

b) als Makro:

dim LetzteZeile as long
LetzteZeile = Cells(Rows.count, 2).end(xlup).row
Range("D4:D" & LetzteZeile).Copy Range("H4")
Range("H4:H" & letzteZeile).RemoveDuplicates 1, xlno
c) mit Formel: siehe Hajos Beitrag

Gruß Daniel


  

Betrifft: Hallo Daniel, danke ... von: Kurt w
Geschrieben am: 12.10.2014 18:29:44

Hallo Daniel,
das funktioniert. !!!
Danke
Wenn möglich jetzt noch daneben die Anzahl der vorhandenen Namen,
danke im Voraus
gruß
kurt w


  

Betrifft: AW: Hallo Daniel, danke ... von: Daniel
Geschrieben am: 12.10.2014 18:46:38

Hi
steht in meiner Antwort zu deiner Antwort auf HaJos beitrag.

wenn du vortgeschritten programmieren willst, bietest sich auch diese Lösung an:

Sub NamenUndAnzahl()
Dim dic As Object
Dim arrNamen
Dim z As Long

Set dic = CreateObject("scripting.dictionary")

arrNamen = Range("D4:D" & Cells(Rows.Count, 2).End(xlUp).Row).Value

For z = 1 To UBound(arrNamen, 1)
    dic(arrNamen(z, 1)) = dic(arrNamen(z, 1)) + 1
Next

Range("H4").Resize(dic.Count, 1).Value = WorksheetFunction.Transpose(dic.keys)
Range("I4").Resize(dic.Count, 1).Value = WorksheetFunction.Transpose(dic.Items)
End Sub
Gruß Daniel


  

Betrifft: Klasse, perfekt !!! Auch Danke !!! von: Kurt w
Geschrieben am: 12.10.2014 18:53:29

Einen schönen Abend noch,
Danke an alle.

gruß kurt w


 

Beiträge aus den Excel-Beispielen zum Thema "Namen auflisten, doppelte löschen"