Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1100to1104
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

Wert mit 2 Bezügen mit VBA suchen und ausgeben

Wert mit 2 Bezügen mit VBA suchen und ausgeben
Klaus
Sehr verehrte Excel-Gurus!
Wäre toll, wenn ihr mir wieder einmal bei einer EDV-mäßigen Umsetzung helfen könntet.
In der beigefügten Arbeitsmappe befinden sich die folgenden, beiden Tabellen:
https://www.herber.de/bbs/user/64497.xls
Tabelle alleSZ
beinhaltet Daten über Stationierungsdaten von Straßenzügen in stark reduzierter Form - meine "wirkliche Liste umfasst ca. 35.000 Datensätze.
Tabelle kmInSZoffset
Hier möchte ich die Bezugparameter StrNr und km vorgeben und das Makro sucht, etwa wie bei einem SVERWEIS, die restlichen Daten heraus.
Und zwar sollte das MAKRO folgendes tun:
in der Tabelle KmInSZoffset sind StrNr und km habe ich Werte vorgegeben - dass Makro soll in der Tabelle alleSZ bei der richtigen StrNr das nächstniedrige Stationierungszeichen (in Spalte E) suchen, die zugehörigen Werte aus den Spalten B-F auslesen und und in der Tabelle KmInSZoffset eintragen - dann die nächste zeile und so fort.
z.B.
Ausgangswerte in Tabelle KmInSZoffset sind B115 und 17,253
das Makro sucht in der Tabelle alleSZ den nächstniedrigen Stationierungszeichen-Wert, in diesem Fall 17,190 und die Werte dieses Datensatzes an die Tabelle KmInSZoffset zurück
Wichtig scheint mir dabei, darauf aufmerksam zu machen, dass in der Tabelle alleSZ viele der Stationierungszeichen-Werte mehrfach vorkommen, innerhalb einer Straße jedoch nur einmal - man muß daher die StrNr in die Suche mit einbeziehen.
Ich habe schon einiges herumprobiert, aber auf Grund der Tatsache, dass ich den Suchbereich zuerst nach der StrNr eingrenzen muß und erst dann das Stationierungszeichen suchen kann , bin ich zum scheitern verurteilt.
Bin für jede Hilfe vorweg dankbar
Schönen Tag
Klaus/Linz an der Donau

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Rückfrage
17.09.2009 13:21:08
Wolli
Hallo Klaus,
Stimmen folgende Annahmen über die Tabelle "alleSZ"?
1.) Alle Zeilen einer Straße stehen immer zusammen / in einem Block.
2.) Innerhalb einer Straße sind die Ziffern der Stationierungszeichen aufsteigend sortiert.
Außerdem noch interessant:
3.) Wenn die Zieltabelle sehr lang ist und für alle 30 Meter eine Zeile hat, sind ja viele Ergebnisse gleich. Das könnte man bei der Programmierung dahingehend berücksichtigen, dass man so lange einfach runterkopiert, bis das nächste Stationierungszeichen erreicht ist. Wäre das sinnvoll?
4.) Was ist mit dem Stationierungszeichen "F170,023/168,013"? Wenn wir hier nicht durchgehend numerische Werte haben, gibt es ein Problem. Können wir nicht "wahrer km" verwenden?
5.) Brauchst Du eher eine Funktion (ähnlich wie SVERWEIS), die Du in die Zieltabelle eintragen kannst oder brauchst Du ein Makro, das die ganze Tabelle von oben bis unten durchrattert und mit festen Werten füllt?
Gruß, Wolli
Anzeige
AW: Rückfrage
18.09.2009 08:52:31
Klaus
Hallo Wolli!
Kann mich erst jetzt wieder melden – hoffentlich bist du noch online!?
Zu deinen Fragen?
1.) Antwort: ja
2.) Antwort: das sind sie – allerdings sind das die Taferlwerte und das ist ein Textstring und kein Zahlenwert, den man sortieren könnte
3.) Antwort: Es wäre schon hilfreich, wenn ein Makro aus der gesamten Stationierungsdatenliste den Bereich der gefragten StrNr herauskopiert und in einer neu generierten Tabelle einfügt – diese redzuzierte Liste könnte ich dann benützen, um die Stationierungszeichen herauszufinden
4.) Antwort: Das mit den Satationierungszeichen ist leider so – den "wahren km" können wir leider nicht benutzen, denn ich möchte sozusagen Daten, die im "alten" Format (km 12,256 / ist nicht gleich wahrer km 12,256) in das Format "Stationierungszeichen + Abstand" umformen
5.) Wenn das Makro für die Tabelle "KmInSZoffset" die jeweilige Taferl-ID bestimmt, könnte ich den Rest mit einem SVERWEIS herüberholen –die Fehler, die bei einem Taferlwert für Fehl- oder Doppelkilometrierungen (F170,023/168,013 oder D14,2) produziert werden, muss man sich wahrscheinlich manuel ansehen
Gruß und Danke, Klaus
Anzeige
per Formel
18.09.2009 10:15:32
Erich
Hi Klaus,
mal abgesehen von den Daten-Unwägbarkeiten: Das sollte sich mittels Formel lösen lassen,
etwa so:
 ABCD
2B 1190,230492501886-

Formeln der Tabelle
ZelleFormel
C2{=INDEX(alleSZ!B:B;MAX(ZEILE($1:$1000)*($A2=alleSZ!$A$1:$A$1000)*($B2>=alleSZ!$E$1:$E$1000)))}
D2{=INDEX(alleSZ!C:C;MAX(ZEILE($1:$1000)*($A2=alleSZ!$A$1:$A$1000)*($B2>=alleSZ!$E$1:$E$1000)))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen

Besser gefällt mir die Lösung mit der Hilfsspalte H in Blatt "KmInSZoffset (2)",
da pro Zeile nur einmal die richtige Quellzeile ermittelt werden muss.
https://www.herber.de/bbs/user/64523.xls
Reicht dir das aus?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: per Formel
18.09.2009 11:00:54
Klaus
Ich verneige mich Wolli!
tolle Lösung - 1000 Dank
BG
Klaus
zu viel der Ehre ...
18.09.2009 15:52:03
Wolli
... das war Erich! ;-)

347 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige