Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1312to1316
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

Wertepostitionen über 2. und 3. Zelle ermitteln

Wertepostitionen über 2. und 3. Zelle ermitteln
30.05.2013 17:15:54
Markus
Hallo Excel-Profis!
Ich habe folgendes Problem, hier als Beispieldatei.
https://www.herber.de/bbs/user/85584.txt
Konnte aus irgendeinem Grund nur txt's anhängen..., sorry.
Es handelt sich um die Inhaltsangabe von Boxen, in denen an den jeweiligen Positionen (kodierbar mit A1-N14, sprich z.Bsp. Spalte A und Zeile 5) Proben liegen (Codes z.Bsp. im Bereich B6-O19).
Diese Listen/Boxen setzen sich nach "unten" hin in der Tabelle in genau dem Raster fort wie die ersten zwei hier dargestellten, gefühlt unendlich weit.
Nun müssen die Daten in ein neues System eingelesen werden. Dazu werden zwei Dinge benötigt:
1. die Box in der sich die Probe befindet - Bezeichnung ergibt sich aus F1+F2
2. die Positionen an denen sich die Proben und Probenvielfachen in der Box befinden, einzeln je Position, also A1, A2, B5, etc.
Ich habe schon mit sverweis und Vergleich/Index rumprobiert, daher auch der Boxname in Spalte P., komme aber absolut nicht auf einen grünen Zweig :-(
Zum Import ins neue System müsste ich folgende Infos möglichst einfach in eine Zeile zusammenbekommen.
Probenname Boxname Postionen in Box
z.Bsp.
7TSF, UT01-A01-A, A1, B1, C1, D1, E1, F1, G1
Ich habe eine Liste in der alle Probennamen in einer Spalte untereinander stehen! In die Spalten dahinter (egal wie viele) dachte ich, müsste man doch die entsprechenden Infos ausgeben können!?
einfache Anpassungen der Tabellen (wie Boxname in Spalte P, o.ä) sind möglich, falls das irgendwie hilft. Also alles was mehr oder weniger mit copy-paste zu erledigen ist. Für alles andere sind es zu viele Daten und es darf nix durcheinander kommen.
Für jegliche Ideen, egal ob Makros, VBA, hundert Formeln bin ich unendlich dankbar, denn von Hand "umtippen" wäre ein Horror
Danke und Grüße
Markus

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wertepostitionen über 2. und 3. Zelle ermitteln
01.06.2013 05:45:57
Franc
Hoff das ist so wie du es wolltest.
Wenn was anders sein soll bitte genau beschreiben.
Wichtig ist nur das die "Boxen" immer gleich groß sind - wie viel Abstand zwischen den Boxen ist ist egal.
Habe in meiner Mappe am Anfang ein paar Zeilen eingefügt.
Am Anfang vom Makro kannst du anpassen wo was steht.
Den Ausgabeort muss man am Ende anpassen
Cells(2, Cells(2, Columns.Count).End(xlToLeft).Column + 1)
steht für Zeile 2 und dann die erste freie Spalte von rechts aus gesehen
das ist wenn mehrere Boxen die gesuchte Probe enthalten
Ja es ist sicher nicht schön geschrieben aber hey - es ist kurz vor 6 und ich hab auch nur Basis Kenntnisse ;-)
https://www.herber.de/bbs/user/85603.xls

Anzeige
AW: Wertepostitionen über 2. und 3. Zelle ermitteln
01.06.2013 15:50:27
Franc
So - hab das noch mal überarbeitet und voll variabel mit Userform für Suche und Ausgabe gestaltet.
Hab zur Demonstration das Beispiel noch mal irgendwo hinkopiert und einfach nur den BoxName erhöht damit man sieht das es funktioniert.
Wenn du etwas anpassen willst geht mit Alt + F11 zu den Makros, doppelklick auf die Userform und doppelklick auf den "suchen" Button der Userform.
Der relative Bereich der Box wir von der Zelle wo Storage Place steht aus definiert
Demnach brauchen wir 5 Angaben um zu wissen wo was steht
Sollte sich mal was an dem Aufbau ändern kannst du es einfach anpassen.
Den Makrocode braucht man nicht anpassen oder nur wenn du mehr Infos brauchst.
d_Spalte = 13 ' Letzte Spalte von Storage Place aus gesehen
dPosZahl = 4 ' wenn Storage Place gefunden wird ist 4 Zeilen drunter die Position
dPosBuchstabe = "-1" ' Buchstaben liegen 1 Spalte links von Storage Place
dEnde = 18 ' Storage Place bis "N"
dBoxNamen = 4 ' Bezeichnungen der Box liegen in der 4. Spalte neben Storage Place
https://www.herber.de/bbs/user/85605.xls

Anzeige
noch mal verbessert ^^
01.06.2013 17:21:09
Franc
so - hatte nicht berücksichtigt das du die Daten irgendwo eintragen willst
Die Userform kannst du einfach in deine Mappe kopieren indem du zu den Makros gehst, linksklick + gedrückt halten auf die Userform und einfach auf deine Arbeitsmappe ziehen.
Vergiss das Makro zum starten nicht.
Sub Proben_Finden_variabel()
Proben_suchen.Show vbModeless 'Modeless = man kann in der Mappe arbeiten während die Userform  _
offen ist
End Sub

Mit der Version kannst du die Userform offen haben, in ein anderes Tabellenblatt oder Arbeitsmappe gehen, suchen und direkt rauskopieren.
Code sieht jetzt bissi umständlich aus, weil er Probleme hatte das mit den Variablen auszuführen.
Als ich dann vorher die Variablen in eine Adresse umgewandelt hatte ging es ...
https://www.herber.de/bbs/user/85607.xls

Anzeige
Meine Güte! Vielen Dank!
04.06.2013 08:09:34
Markus
Hallo Franc,
konnte übers WE nicht reinschauen, nun sitze ich hier mit einer fertigen Lösung!
Weiß nicht was ich sagen soll. Selbst wenn ich es noch nicht ausprobiert habe.
DANKE!
Melde mich nach dem verstehen und testen nochmal. Hoffe ich komme heute dazu...

Klappt super, nur noch eine Frage
04.06.2013 16:37:47
Markus
Hallo Franc,
das ist großartig geworden, macht genau was ich benötige.
Um nicht die ganzen Ergebnisse von Hand aus der Box zu kopieren und zur richtigen Zelle scrollen zu müssen habe ich folgendes probiert (nach Ausgabe.Text = strGefunden)
Worksheets("Kontrolle_Import").Cells(1, 6).End(xlDown).Offset(1, 0).Value = Ausgabe.Text
nur bekomme ich dann alle Boxen in eine Zelle geschrieben, weil er den Zeilenumbruch ignoriert/löscht.
Bekomme ihn leider auch nicht dazu das immer dann in die Zelle zu schreiben, wenn er die Adressen einer Box komplett hat. Mich düngt auch das wäre schwieriger.
Suche eigentlich nur den Befehl, dass er den Textboxinhalt so kopiert wie ich es von Hand tun würde. Kriege es aber nicht auf die Reihe :-/
Wenn du da nochmal einen Tipp hast wäre es super.
Danach werde ich mal versuchen, ob ich nicht spalte A automatisch Zelle für Zelle ins suchfeld eingelesen bekomme, dann ist Weihnachten und Ostern zusammen :)

Anzeige
AW: Klappt super, nur noch eine Frage
04.06.2013 23:39:11
Franc
vorweg meine E-Mail Adresse weil der Beitrag bald im Archiv landet.
franc.klepec@email.de
Wenn du fragen hast schreib oder man kann sich auch mal im Teamspeak treffen was bei größeren Erklärungen einfacher ist.
------
Ja das ist richtig - darauf war es nicht ausgelegt.
Da hierzu ein paar kleine Änderungen nötig waren habe ich das in dem Makro angepasst.
strGefunden beinhaltet nun immer nur die Fundstellen pro Box zum Beispiel
"7TSF, UT01-A01-G, A1, B1, C1, D1, E1, F1, G1"
Nachdem der Boxbereich durchsucht wurde schreiben wir die Fundstellen direkt in das Kontrollblatt.
Der Inhalt der Textbox wird separat mit strGefunden2 erzeugt.
nicht erschrecken - ich habe auch Erklärungen eingefügt
diese sind recht umfangreich und beschreiben was passiert - die genauen Zellen treffen natürlich nur auf die Beispielmappe zu ^^
https://www.herber.de/bbs/user/85654.xls

Anzeige
AW: Klappt super, nur noch eine Frage
05.06.2013 00:10:55
Franc
bähh ist schon spät und ich hatte den letzten Satz nicht gelesen ^^
zusätzliches Makro eingefügt (Modul1) und entsprechend angepasst
Hier wähle ich zum einfügen meine favorisierte Methode das er von unten nach oben die erste reie zelle sucht.
https://www.herber.de/bbs/user/85657.xls
da ich nicht wußte wo die Werte stehen habe ich sie erstmal in Blatt 1 in Spalte A geschrieben
Es ist auch eine Konrolle drin falls die Probe nicht gefunden wurde - in dem Fall steht dann bei dem Kontrollblatt Probenname + "wurde NICHT GEFUNDEN"
Falls fragen zum anpassen sind entweder hier ins Forum schreiben oder besser an meine E-Mail franc.klepec@email.de weil das heute oder morgen im Archiv landet und man nicht mehr antworten kann.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige