Excel-Makro
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 schreiben
Antwort 1 von fedjo vom 15.10.2019, 16:49 Options
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 vom 16.10.2019, 07:29 Options
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 vom 16.10.2019, 09:13 Options
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 vom 16.10.2019, 20:56 Options
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.