Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1004to1008
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

PLZ-Bereiche in Struktur umsetzen

PLZ-Bereiche in Struktur umsetzen
26.08.2008 12:11:47
Hotte
Hallo Forum,
ich stehe vor der Aufgabe, bestimmte Postleitzahlenbereiche gemäß folgendem Beispiel zu strukturieren:
PLZ-Bereich, den ich vorgegeben bekomme: 10000 bis 22013
Ziel-Struktur
1
20
21
220
2200
22010
22011
22012
22013
Es geht also darum, die Ziel-Struktur möglichst knapp zu halten (1 beispielsweise deckt die Postleitzahlen 10000 bis 19999 ab, 20 deckt 20000 bis 20999 ab usw.) und die PLZ wirklich nur da, wo es wirklich nötig ist, bis zur jew. letzten Ziffer darzustellen. Ich dachte, es könnte doch eigentlich nicht so schwer sein, diese Logik einem Makro beizubringen, bin aber leider kläglich an dem Versuch gescheitert. Hat evtl. jemand hier einen Tip für mich, wie man das hinbekommen könnte?
Vielen Dank im Voraus :-)

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PLZ-Bereiche in Struktur umsetzen
26.08.2008 13:39:49
Erich
Hallo Hotte,
die 220 gehörte IMHO nicht in die Liste.
Das bekomme ich raus (2 Beispiele):
 ABCDEFG
1 vonbis  vonbis
2 1000032513  1000022013
3Struktur   Struktur  
411000019999 11000019999
522000029999 202000020999
6303000030999 212100021999
7313100031999 22002200022009
83203200032099 220102201022010
93213210032199 220112201122011
103223220032299 220122201222012
113233230032399 2201322013 
123243240032499    
1332503250032509    
14325103251032510    
15325113251132511    
16325123251232512    
173251332513     

Formeln der Tabelle
ZelleFormel
B4=LINKS(A4&"0000";5)
C4=B5-1
G4=F5-1

Und hier der Code (schreibt in Spalte A ab Zeile 4):

Option Explicit
Sub PLZ_Struk()
Dim strV As String, strB As String, pp As Integer, ii As Integer, zz As Long
strV = Cells(2, 2)
strB = Cells(2, 3)
zz = 3
For pp = 1 To 5
For ii = Mid(strV, pp, 1) To Mid(strB, pp, 1) - 1
zz = zz + 1
Cells(zz, 1) = Left(strV, pp - 1) & ii
Next ii
strV = Left(strB, pp) & String(5 - pp, "0")
Next pp
Cells(zz + 1, 1) = strB
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: PLZ-Bereiche in Struktur umsetzen
26.08.2008 14:16:00
Hotte
Hallo Erich,
das schaut ganz genau wie das aus, was ich gebraucht habe. Vielen, vielen Dank :-)
Bzgl. der 220 in der Liste: da war ich mir auch nicht ganz sicher. Rein logisch betrachtet muß man die sicherlich nicht haben. Was allerdings hier in der Firma bislang keinen meiner Vorgänger davon abgehalten hat, derlei Werte trotzdem mit zu pflegen (es geht konkret um die Zuordnung von Spediteuren zu PLZ-Gebieten). Weshalb jetzt keiner so genau weiß, was bzw. ob etwas passiert, wenn man die weg läßt. Ich selbst mache das jetzt zum ersten mal - vielleicht ist das eine ganz gute Gelegenheit zum herumexperimentieren ;-)
Es grüßt Hotte aus dem verregnteten Ostwestfalen
Anzeige
AW: PLZ-Bereiche (Erweiterung)
27.08.2008 10:07:00
Erich
Hallo Hotte (Vorname?),
die bisherige Routine ging immer nur von der 1. Stelle der Von-PLZ aus.
Hier können Von- und Bis-PLZ zwischen 00000 und 99999 liegen:

Option Explicit
Sub PLZ_Strukt()
Dim strV As String, strB As String, zz As Long
Dim pp As Integer, pp1 As Integer, pp2 As Integer, ii As Long
strV = Cells(1, 2)
strB = Cells(2, 2)
zz = 4
Cells(zz + 1, 1).Resize(Cells(Rows.Count, 1).End(xlUp).Row).ClearContents
For pp = 1 To 5
If Mid(strV, pp, 1) > "0" Then pp1 = pp
If Mid(strV, pp, 1) + 1 

Und hier die Mappe dazu: https://www.herber.de/bbs/user/54942.xls
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige