Brauchen Sie Hilfe?
Web:     Online-Formular
E-Mail:  
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Tel:       +49(0)151 / 164 55 914

Nutzen Sie für Ihre Anfrage unser Online-Formular oder senden Sie uns eine E-Mail an Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!. Gerne können Sie aber auch direkt telefonisch Kontakt aufnehmen.

   
     Referenzen
 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe
   

Unikate in eigene Spalte extrahieren

101072

Mit diesem Makro werden alle nicht doppelten Daten aus Spalte A in Spalte B geschrieben.
Jeder Wert wird also maximal einmal in Spalte B geschrieben, egal, wie oft er in Spalte A vorhanden ist.

Die Unikate werden sozusagen extrahiert und in Spalte B geschrieben.

Sub ListeUnikate()
Dim Liste As New Collection
Dim i As Integer
Dim j As Integer
Dim Gefunden As Boolean

Liste.Add [A1]
For i = 2 To 20 'oder so viele, wie Du brauchst
Gefunden = False
For j = 1 To Liste.Count
If Cells(i, 1) = Liste(j) Then Gefunden = True
Next j
If Not Gefunden Then Liste.Add Cells(i, 1)
Next i
'Zu Testzwecken
For i = 1 To Liste.Count
Cells(i, 2) = Liste(i)
Next i
End Sub


Herr Kühnlein hat den Code erweitert. Nun wird in Spalte C protokolliert,
welche Daten, wie oft in Spalte A vorhanden sind. Eine super Sache!

Sub ListeUnikate_mit_zähler()
  Dim n As Integer
  Dim i As Integer
  Dim j As Integer
  Dim Gefunden As Boolean

  [B1] = [A1]
  [C1] = 1
  n = 1
  For i = 2 To 9 'oder so viele wie gewünscht
    Gefunden = False
    For j = 1 To n
      If Cells(i, 1) = Cells(j, 2) Then
        Gefunden = True
        Cells(j, 3) = Cells(j, 3) + 1
      End If
    Next j
    If Not Gefunden Then
      n = n + 1
      Cells(n, 2) = Cells(i, 1)
      Cells(n, 3) = 1
    End If
  Next i
End Sub


Die Veröffentlichung wurde frundlicherweise von Klaus Kühnlein genehmigt.

 

   

Relevante Artikel

  • Zugriff auf Daten über VBA und Bereichsnamen

    Wenn für einen Zellbereich ein Bereichsname vergeben wurde, kann auf diesen über VBA zugegriffen, also gelesen und geschrieben werden. In diesem Beispiel wurde ein Bereich mit einer Größe von 12...

  • Array-Bereich direkt in Zell-Bereich schreiben

    Sie kennen sicherlich den gewohnten Umgang (schreiben und lesen) mit Array-Variablen. Normalerweise wird jeder Eintrag der Array-Variable einzeln referenziert. Sub Normales_Array()'**...

  • Sortieren einer Tabelle per VBA mit mehr als 3 Kriterien

    Anbei ein kleines Beispiel für das Sortieren einer Tabelle per VBA mit mehr als 3 Kriterien. Es wird sowohl das auf- als auch das absteigende Sortieren demonstriert. Bis Excel 2003 ist die Anzahl...

  • Letzte Zeile, letzte Spalte und letzte Zelle per VBA ermitteln

    101012 Nachfolgend sehen Sie einige Makros, mit denen die letzte Zeile, die letzte Spalte bzw. die letzte Zelle ermittelt werden kann. Die Erläuterungen zu den einzelnen Makros finden Sie als...

  • Anzahl der leeren Zellen innerhalb eines Bereiches ermitteln

      101055     Mit dem Makro leere_zellen_ermitteln wird die Anzahl aller leeren Zellen im selektierten Bereich ermittelt und mittels einer MsgBox angezeigt. Sub leere_zellen_ermitteln()leer = 0For Each Zelle In SelectionIf Zelle.Value = "" Thenleer = leer + 1End IfNext ZelleMsgBox "Es gibt " & leer & " leere Zellen im selektieren Bereich."End Sub Über eine For-Nexe-Schleife wird...

   

Excel-Inside auf Facebook Excel-Live News blog Excel-Inside RSS-Feed Twitter Account für Excel-Inside Mail an Excel-Inside 

Programmierung
Excel Auftragsprogrammierung Access Auftragsprogrammierung
Word Auftragsprogrammierung Outlook Auftragsprogrammierung
   
Unsere Produkte
Office Schulungen VBA, Excel, Access
E-Book Formeln und Funktionen Excel 2013