Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Excel-Makro





Frage

Hallo, für eine Adressen-Etikettierung bräuchte ich folgendes Makro: Ich habe etwa 5000 verschiedene Adressen als Excel-Datei vorliegen. Aus dieser Liste brauche ich die Anzahl von Adressengruppen, wobei nur die beiden ersten Zimmern der Postleitzahlen entscheidend sind, also: Wieviel Adressen sind in der Liste mit der Postleitzahl 81xxx, 82xxx, 83xxx usw. Es geht also nur um das Zählen der ersten zwei Ziffern bei den Postleitzahlen. Wenn ich das mit der Hand mache, ist es sehr aufwändig. Weiß jemand Rat? Danke im Voraus.

Antwort 1 von fedjo

Hallo,
Spalte A wird mit 2 Stellen überprüft.
In ein Modul einfügen.

Gruß
fedjo


Option Explicit
Sub Postleitzahlen()
Dim Zelle As Range
Dim Ber As Range
Dim LetzteZeile As Long
Dim Zähler As Long
Dim Name As Integer
Name = InputBox("Bitte Postleitzahl (2 Stellen) eingeben!")
LetzteZeile = Range("A65536").End(xlUp).Row
Set Ber = Range("A1:A" & LetzteZeile)
For Each Zelle In Ber
If Left(Zelle.Value, 2) = Name Then
Zähler = Zähler + 1
End If
Next
MsgBox Zähler & " Kunden im Postleitzahlengebiet"
End Sub

Antwort 2 von rainberg

Hallo,

wenn es nur um's Zählen geht, reicht auch eine Formel.

=SUMMENPRODUKT((LINKS(A1:A5000;2)="83")*1)

Zählt alle PLZ die mit "83" beginnen.


=SUMMENPRODUKT((LINKS(A1:A5000;2)={"81"."83"."86"})*1)

Zählt alle PLZ, die mit "81"; "83" und "86" beginnen.
Die Matrixkonstante kannst Du beliebig anpassen.

Gruß
Rainer

Antwort 3 von lleopard

Hallo Herbstzeit

... is ja alles schön und gut, aber die o.g. lösungen liefern nur die Anzahl Postleitzahlen, wenn du vorab eine Auswahl triffst. Aber es gibt erstens die Möglichkeit auch in Excel eine Zeile mit der Überschrift zB PLZ-Gebiet zu erstellen und als Formel Links(Postleitzahl;2) zu erstellen, die über alle 5000 Zeilen zu kopieren und dann eine Pivottabelle zu erstellen.

Noch schöner ist es wenn du die Adressen nach Access importierst und dort über eine Abfrage wieder Links(Feldname;2) auswählst und das dann über die Gruppierung einfach zählen läßt, indem du das Gruppierungsfeld auf Anzahl stellst... natürlich mußt du das dann auch nochmal für das Postleitzahlenfeld selber machen, denn sonst weißt du ja nicht welche Anzahl zu welcher PLZ paßt... aber so oder so geht es auch für alle PLZ die du in deiner Tabelle hast.

Gruß Leo

Antwort 4 von herbstzeit

Hallo,
besten Dank an fedjo, rainberg und lleopard. Habe noch nicht geschafft, die Ratschläge in die Tat umzusetzen. Sie erscheinen mir alle sehr schlüssig. Mir ist auf jeden Fall geholfen.
Alles Gute.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: