Microsoft Excel

Herbers Excel/VBA-Archiv

Range durchsuchen und Anzahl aller Teil ausgebe

Betrifft: Range durchsuchen und Anzahl aller Teil ausgebe von: kultnoob
Geschrieben am: 11.07.2013 11:01:04

Hi zusammen,

im Grunde ist es eine simple Frage.
Ich habe eine Spalte mit verschiedenen Bezeichnungen (Teile).
Im Beispiel Spalte A:

1
2
1
3
7
3
2
10
5
7
3

Eigentlich möchte ich nur, dass das Makro mir folgendes ausgibt. In Spalte B sollen alle Zahlen nur einmal vorkommen mit dem Zusatz Teil und in Spalte C die Anzahl wie oft das vorkommt.

Spalte B Spalte C

Teil 1-----2
Teil 2-----2
Teil 3-----3
Teil 7-----2
Teil 10----1
Teil 5-----1

usw.

Zur besseren Darstellung habe ich die Striche zwischen den Zahlen eingefügt. Diese sollen nur zur Differenzierung helfen.

Ich habe es schon mit einer IF-Anweisung versucht doch komme ich nicht weiter. Sufu und google wurde benutzt doch ohne Erfolg. Falls so eine Frage in gleicher oder ähnlicher Form gestellt wurde, bitte darauf hinweisen. Dann versuche ich dies an meinem Problem anzuwenden.

Besten Dank.

  

Betrifft: benutze Zählenwenn() kwT von: Matthias L
Geschrieben am: 11.07.2013 11:04:03




  

Betrifft: AW: benutze Zählenwenn() kwT von: kultnoob
Geschrieben am: 11.07.2013 11:06:19

Hi Matthias L,

danke für den Tipp...
Ich vergass zu erwähnen, das ich dies innerhalb einer Auswertung machen möchte und bisher alles als Makro läuft. Ich würde dies gern ohne Formeln lösen. Doch an diesem Punkt komme ich leider nicht weiter...


  

Betrifft: benutze Zählenwenn() im Makro von: Klaus M.vdT.
Geschrieben am: 11.07.2013 11:17:02

Hallo KN,

du kannst Zählenwenn auch im Makro benutzen. Da heisst es (englisch) natürlich countif.

debug.print application.worksheetfunction.countif(Range("A1:A100"),"Hund")
schreibt dir die Anzahl von Hunden aus A1:A100 ins Direktfenster.

Grüße,
Klaus M.vdT.


  

Betrifft: AW: benutze Zählenwenn() im Makro von: kultnoob
Geschrieben am: 11.07.2013 11:19:30

Hi,

dann müsste ich aber wissen, wonach er sucht oder? In Deinem Beispiel suche ich nach Hund. Die Nummern ändern sich aber stetig. Die Zählenwennfunktion kenne ich...

Ich schau mir mal die Countif Sache genauer an. Maybe kann ich mir daraus etwas basteln.


  

Betrifft: AW: benutze Zählenwenn() im Makro von: Klaus M.vdT.
Geschrieben am: 11.07.2013 11:28:46

Hi,

dein Beispiel wird so gelöst (deine Zahlenreihe steht in Spalte A ab Zeile 1):

Sub MitCountIf()
Dim lRow As Long
Dim aRow As Long
Dim i As Long

aRow = 1

With ActiveSheet
    lRow = .Cells(.Rows.Count, 1).End(xlUp).Row
    For i = 1 To lRow
        If WorksheetFunction.CountIf(.Range(.Cells(1, 1), .Cells(i, 1)), .Cells(i, 1)) = 1 Then
            .Cells(aRow, 2).Value = "Teil " & .Cells(i, 1).Value
            .Cells(aRow, 3).Value = WorksheetFunction.CountIf(.Columns(1), Cells(i, 1))
            aRow = aRow + 1
        End If
    Next i
End With

End Sub
Grüße,
Klaus M.vdT.


  

Betrifft: AW: benutze Zählenwenn() im Makro von: kultnoob
Geschrieben am: 11.07.2013 11:35:51

Hi,

geil...

ha, funktioniert... vielen Dank... Muss das noch ein wenig anpassen aber nun hab ich auch ein Beispiel, falls mir mal wieder so etwas unterkommt. Vielen vielen Dank, top Hilfe...


  

Betrifft: Danke für die Rückmeldung! owT. von: Klaus M.vdT.
Geschrieben am: 11.07.2013 11:37:35

.


 

Beiträge aus den Excel-Beispielen zum Thema "Range durchsuchen und Anzahl aller Teil ausgebe"