Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: mephisto^^ am Oktober 04, 2016, 22:19:57 Nachmittag
-
Hallo Zusammen,
ich habe folgendes Problem, was ich auch nach mehreren Stunden intensiven Grübelns :-[ nicht lösen konnte:
In einer Excel-Datei (berufliche Daten) habe ich verschieden PLZ-Bereiche gegeben (sehr große Datensätze)
z.B. PLZ von 90400 - 90440
nun benötige ich alle Zahlen, die zwischen diesen beiden Grenzen liegen (90401, 90402, 90403 usw.) als Werte.
Hat jemand eine Idee, wie man sich alle Zwischenwerte ausgeben lassen kann?
Vielen Dank im Voraus!
Ps: Ich bin für je Idee dankbar....
-
Moin,
da fällt mir spontan ein:
- Autofilter
- Intelligente Tabelle (enthält auch den Autofilter
- Spezialfilter
- Power Query (http://www.excel-ist-sexy.de/power-query-das-add-in/)
-
Hallo Günther,
vielen Dank für deine Antwort, allerdings habe ich mich wohl nicht gut genug ausgedruckt.
Ich glaube das Filter hier nicht weiterhelfen, da die Werte zwischen diesen zwei Zahlen überhaupt nicht existieren...
Falls doch, wäre ich um eine kurze Erläuterung für das Vorgehen sehr dankbar.
Ich füge nachfolgend mal eine kurze Übersicht der Tabelle ein.
Land: PlZ von: bis:
DE 90400 90420
DE 90421 90445
DE 90445 90460
Händisch würde man also zwischen PLZ von / bis neue Spalten einfügen und durch das AutoVollständigen die Werte so lange nach rechts ziehen bis der Endwert "PLZ bis" erreicht ist. Da ich allerdings tausende solcher Bereiche habe, würde ich das eher vermeiden wollen ;D
Ich bin somit auf der Suche nach einer Lösung die Zwischenwerte einzufügen....Excel bietet ja die Möglichkeit durch "Reihe" einen Start- und Endwert einzugeben und so eine Datenreihe zu erstellen, jedoch muss auch hier jede Reihe einzeln eingegeben werden.
Eventuell fällt hierzu jemandem ein anderer Lösungansatz.
Danke schon mal!
-
Moin,
da ist aus meiner Sicht ein Makro am Ressourcen-schonendsten:
Option Explicit
Sub PLZauffuellen()
Dim lRow As Long, PLZ1 As Long, PLZ2 As Long
Dim Ze As Long, Sp As Long
lRow = Cells(Rows.Count, 1).End(xlUp).Row
For Ze = 2 To lRow
PLZ1 = Cells(Ze, 2)
PLZ2 = Cells(Ze, 3)
For Sp = 4 To (PLZ2 - PLZ1 + 4)
Cells(Ze, Sp) = PLZ1 + Sp - 4
Next Sp
Next Ze
End Sub