Office: VBA Profis: Argument suchen und gefundene Zeile kopieren

Helfe beim Thema VBA Profis: Argument suchen und gefundene Zeile kopieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Leute, ich bin mal wieder auf eure Hilfe angewiesen. Folgender Arbeitsschritt: Wenn auf "Blatt_2" in Spalte Q der Wert "2" ist, soll der Wert... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Piet.Peter, 29. Oktober 2016.

  1. VBA Profis: Argument suchen und gefundene Zeile kopieren


    Hallo Leute,

    ich bin mal wieder auf eure Hilfe angewiesen.

    Folgender Arbeitsschritt:
    Wenn auf "Blatt_2" in Spalte Q der Wert "2" ist, soll der Wert aus dieser Zeile und Spalte D in Blatt 1, Spalte i gesucht werden.
    Ist der Wert gefunden (und er sollte auch immer genau 1 Mal vorhanden sein), sollte die gesamte gefundene Zeile in Blatt 1 kopiert werden.

    Im nächsten Schritt sollen noch 2 werte aus Blatt 2 in die neu entstandene Zeile kopiert werden, aber das würde ich auch selber hinkriegen oder ich melde mich nochmal *biggrin.gif*

    Wichtiger ist der erste Schritt.

    Ein Musterblatt kann ich leider aus Datenschutzgründen nicht hochladen. Ich habe schon mal mit dem Code angefangen, aber komme beim .find schon nicht mehr weiter.

    Folgender Code:

    Code:
    Den ganzen Zirkus mache ich, um einen sverweis-Problem zu lösen, der ja bekanntlich nur den ersten gefundenen Wert ausgibt. Ich brauche allerdings dringend beide.


    Ich hoffe ihr könnt mir weiterhelfen! *Smilie

    Beste Grüße
    Piet

    :)
     
    Piet.Peter, 29. Oktober 2016
    #1
  2. Hallo Piet,
    Blatt_2 heisst in Deinem Code iComps_2
    Wie heisst dann Blatt 1 ?
    Wohin genau ?
    Soll das geprüft werden ?
    Du kannst sicherlich leicht nachvollziehen, dass man als Helfer seine Lösung gerne testen möchte. Dazu braucht man eine Beispieldatei.
    m.E. dürfte Dir das keine Mühe machen, eine solche mit ein paar für die Aufgabenstellung relevanten Daten zur Verfügung zu stellen; inwiefern dabei der Datenschutz in Gefahr wäre, kann ich nicht nachvollziehen.

    Gruß
    Aloys
     
    aloys78, 31. Oktober 2016
    #2
  3. Hi Aloys,

    tut mir leid wegen dem Musterblatt, ich habs jetzt mal in der schnelle ganz rudimentär versucht nachzubauen. Das nächste mal mach ich es sofort *wink.gif*

    zu 1.)
    hat sich dann erledigt; Blatt_1 und Blatt_2 sind die neuen Namen

    zu 2.)
    Darunter einfügen, sodass dann die zweimal die gleiche Zeile untereinandersteht (sprich: einfach dublizieren)
    -> im neuen Beispiel die Zeile mit dem Maerkmal "xx"

    zu 3.)
    nein muss nicht geprüft werden, ganz sicher nur einmal da; war nur als Hinweis gedacht

    zu 4.)
    Die bereiche sind im neuen Muster nicht mehr die gleichen wie oben angegeben, ich hoffe dennoch , dass alles verständlich ist *Smilie


    Beste Grüße und vielen Dank für die Hinweise!
    Piet
     
    Piet.Peter, 31. Oktober 2016
    #3
  4. VBA Profis: Argument suchen und gefundene Zeile kopieren

    Hallo Piet,

    die Aufgabe ist vermutlich einfach zu lösen, allerdings erscheint mir Deine Beschreibung noch etwas verwirrend.

    Verstehe ich das richtig, dass es in Blatt 1 nicht nur um 'xx' geht sondern um alle Codes ?

    Es wäre hilfreich, die Aktion für den einzelnen Code leichter nachvollziehbar in Schritten zu beschreiben.
    Wie sehen Blatt 1 und 2, zB bezogen auf 'xx' vor der Aktion aus ?
    Und wie das Ergebnis ?

    Gruß
    Aloys
     
    aloys78, 31. Oktober 2016
    #4
  5. Hi Alloys,

    zuerst bitte ich für die späte Antwort um Entschuldigung. Ich komme arbeitsbedingt nur zweimal die Woche an diesen Rechner.

    Tut mir leid für die komplizierte Beschreibung. Ich zähle der Reihe nach nochmal alle Schritte auf:

    1) In Blatt 2 in Spalte K nach "2" suchen.

    2) Wenn gefunden, soll der dazugehörige Wert aus Spalte D (Merkmal) [im Bsp.: "xx"] in Blatt 1 spalte D gesucht werden.

    3) Die Zeile des GEFUNDENEN Wertes [im Bsp.: Zeile 8] soll kopiert werden. (s. Mappe).

    4) In die NEUE Zeile, Spalte I und J sollen gerne die Werte aus Blatt 2 (aus der Spalte, in der die "2" steht.) eingefügt werden. ABER: Die Werte die eingefügt werden sollen, stehen aber nicht in der gleichen Spalte wie auf Blatt 1 (s. Muster).


    Die oben erwähnte "2" wird zuvor von mir mit einem Makro eingefügt.
    Sinn der Sache ist, dass ich Daten mit sverweis von Blatt 2 auf Blatt 1 verknüpfe. Leider habe ich teilweise 2 Datensätze mit "xx" auf Blatt 2, sodass ich diesen Wert etwas komplizierter "in das 1. Blatt bekommen muss".

    Die neue Mappe habe ich angefügt.

    Ich hoffe das hilft und war dieses Mal verständlicher *Smilie

    Beste Grüße
    Piet
     
    Piet.Peter, 3. November 2016
    #5
  6. Hallo Piet,
    Verständlicher ja; trotzdem muss ich noch einmal nachfragen.
    Muss ich zum Augenarzt ? Bei mir stehen die Werte in beiden Blättern in den Sp I und J.

    Außerdem: Blatt 1 enthält in Sp A eine lfd. Nummer. Soll diese nach dem Einfügen der Zeile angepasst werden oder so bleiben wie im Beispiel gezeigt ?

    Gruß
    Aloys
     
    aloys78, 5. November 2016
    #6
  7. Hi Alloys,

    entschuldige die Verwirrung. Da war die Tastatur bei mir wieder schneller als der Kopf. Ich hatte das noch geändert, aber wohl vergessen abzuspeichern und hab dann die alte Version hochgeladen. Neue Mappe im Anhang *wink.gif*

    Die laufende Nummerierung ist in der "echten" Datei gar nicht vorhanden. Hab ich nur zur Übersicht eingefügt, aber hat wohl genau das Gegenteil bewirkt *biggrin.gif*

    Wenn du noch weitere Fragen hast, immer her damit!

    Beste Grüße
    Piet
     
    Piet.Peter, 6. November 2016
    #7
  8. VBA Profis: Argument suchen und gefundene Zeile kopieren

    Hallo Piet,

    anbei mein Lösungsvorschlag. Dabei bin ich davon ausgegangen, dass in beiden Blättern 3 die erste Datenzeile ist; ansonsten könntest Du das im Code bei den Definitionen unter 'Start_Row' anpassen.

    Gruß
    Aloys

    Code:
     
    aloys78, 7. November 2016
    #8
  9. Hi Alloys,

    Du bist der absolute Wahnsinn!!

    Man lernt ja nie aus, ich war bisher mit den Variablen etwas knauserig, aber bei näherer Betrachtung von deinem Code macht das ja schon sinn. Werde ich so künftig übernehmen *Smilie

    Vielen vielen Dank!! Ohne dich wäre ich wohl aufgeschmissen gewesen.

    Beste Grüße
    Piet
     
    Piet.Peter, 13. November 2016
    #9
  10. Hallo liebe Forenmitglieder,

    ich fürchte ich muss den Beitrag noch einmal aus der Versenkung hervorholen.

    Zur Übersicht nochmal kurz die Erläuterung der Arbeitsschritte:

    1) In Blatt 2 in Spalte K nach "2" suchen.

    2) Wenn gefunden, soll der dazugehörige Wert aus Spalte D (Merkmal) [im Bsp.: "xx"] in Blatt 1 spalte D gesucht werden.

    3) Die Zeile des GEFUNDENEN Wertes [im Bsp.: Zeile 8] soll kopiert werden. (s. Mappe).

    4) In die NEUE Zeile, Spalte I und J sollen gerne die Werte aus Blatt 2 (aus der Spalte, in der die "2" steht.) eingefügt werden. ABER: Die Werte die eingefügt werden sollen, stehen aber nicht in der gleichen Spalte wie auf Blatt 1 (s. Muster).


    Die oben erwähnte "2" wird zuvor von mir mit einem Makro eingefügt.

    Sinn der Sache ist, dass ich Daten mit sverweis von Blatt 2 auf Blatt 1 verknüpfe. Leider habe ich teilweise 2 Datensätze mit "xx" auf Blatt 2, sodass ich diesen Wert etwas komplizierter "in das 1. Blatt bekommen muss".


    Das funktioniert mit oben genanntem Makro auch super!

    Jetzt habe ich nur das Problem, dass es auf Blatt 1 Spalte D ebenfalls mehrere Zeilen mit dem Merkmal xx gibt. Das ist leider eine Neuerung.


    (Folgend siehe angehängt Mappe zur Erläuterung)
    Das Problem dabei ist, dass durch die "finden"-Funktion nur die oberen Werte (rot) gefunden werden, die gewünschten Zeilen (die kopiert werden sollen) allerdings die gelben sind.

    Das einfachste wäre einfach die Suchfunktion so zu definieren, dass in Blatt 1 von unten nach oben gesucht wird. Wie im Muster zu sehen, sind die gelben Zeilen immer unter den roten.

    Eine andere Möglichkeit ist es, nach dem Wert in Spalte E zu selektieren. Dabei muss allerdings "weitergesucht" werden, wenn dieses Merkmal bei ersten Treffer nicht zutrifft.
    Auch hier hat die gelbe Zeile immer "AAA" in Spalte D stehen. Die anderen 2 Möglichkeiten sind "BBB" oder "CCC". Diese Zeilen sollen nicht kopiert werden.


    Die erste finde ich persönlich eleganter, aber was weiß ich schon*rolleyes.gif*

    Ich hoffe ihr könnt mir weiterhelfen. *Smilie

    Beste Grüße
    Piet
     
    Piet.Peter, 12. Dezember 2016
    #10
  11. Hallo Piet,
    Es bleibt aber dabei, dass in Blatt 2 die Kombination 2 in Sp K mit einem bestimmten 'xx' in Sp D nur 1x auftritt ???

    Gruß
    Aloys
     
  12. Hi Alloys,

    ja genau, dabei bleibt es!! Ich hab mir das Ganze nochmal angeschaut und gesehen, dass man den Suchbereich (ws1.Range("I1:I" & LRow1)) der "MATCH"-function einfach verkleinern muss.

    Ich kann das technisch leider nicht umsetzen, aber theoretisch müsste man den Bereich definieren, in dem in Zeile E "AAA" steht und diesen dann als Suchbereich für die Matchfct. angeben.
    Das hab ich nicht deutlich genug in der Mappe gemacht, Zeile E ist nämlich mit den Merkmalen komplett ausgefüllt! Die "AAA" stehen alle unten, man müsste also das erste "AAA" finden, das ist dann der erste Wert für den Suchbereich.

    Siehe Mappe.

    Ich hoffe das hilft, habs auch selber versucht hinzukriegen, bin aber wie im folgenden zu sehen ist gescheitert *biggrin.gif*

    Code:
    Meine Neuerungen sind rot *Smilie

    Beste Grüße
    Piet
     
    Piet.Peter, 13. Dezember 2016
    #12
  13. VBA Profis: Argument suchen und gefundene Zeile kopieren

    Kleiner Zusatz:

    Code:
    Die roten Sachen hier hatte ich in meinem ersten Versuch eingefügt. Diese schließen zwar aus, dass die ungewünschten Zellen kopiert werden, aber das gewünschte "xx" wird auch nicht kopiert.

    Und entschuldige, dass ich die Namen im Code nicht wieder auf das Muster geändert habe. Das ist mir eben erst aufgefallen.
     
    Piet.Peter, 13. Dezember 2016
    #13
  14. Hallo Piet,

    warum diese Verwirrung ?

    Zuerst schickst Du eine Mappe mit einem Code-Fragement.

    Jetzt den Code in 2 Teilen, der auf meinem aufbaut, bei dem ich die Ergänzungen und Änderungen aber nicht nachvollziehen kann.

    Was soll LRowB und die Suche von 'AUM' in Sp I ? In der Beispieldatei ist davon nichts zu sehen. Außerdem sehe ich da nicht den geringsten Zusammenhang zu Deiner vorher geäußerten Aufgabenerweiterung. Die kann man ganz einfach lösen, indem man, wie von Dir zuvor schon vorgeschlagen, bei Mehrfachauftreten von 'xx' in Sp 1 des Blattes 1 von unten nach oben abfragt.

    Wenn diese Aufgabenstellung noch gilt und mein Code immer noch die Grundlage bildet, dann würde ich Dir auf dieser Basis einen Lösungsvorschlag unterbreiten. Interessant wäre es zu erfahren, um wieviel Zeilen es in Blatt 1 geht (Größenordnung).

    Gruß
    Aloys
     
  15. Hi Alloys,

    dass ich die angepassten Namen und Spalten verwendet hab, tut mir leid.

    Zur Erläuterung:
    LRowB sollte bei mir die erste Spalte des neuen Suchbereiches auf Blatt 1 werden. "AUM" heißt im Beisppiel "AAA".
    Das war mein Versuch, der hat allerdings nicht funktioniert.

    Das Code-Fragment ist mein allererster Versuch, bevor ich deinen Vorschlag bekommen hatte. Der hat da mittlerweile nichts mehr zu suchen. Das tut mir leid.



    Soviel dazu, die Aufgabenstellung bleibt die gleiche!

    Wenn du da einen Lösungsvorschlag hättest, wäre das super *Smilie

    Größenordnung sind vor dem Kopieren ca. 2000 Zeilen, nach dem Vorgang sind es ungefähr 3000.
     
    Piet.Peter, 13. Dezember 2016
    #15
Thema:

VBA Profis: Argument suchen und gefundene Zeile kopieren

Die Seite wird geladen...
  1. VBA Profis: Argument suchen und gefundene Zeile kopieren - Similar Threads - VBA Profis Argument

  2. VBA - Wert in einer Spalte finden und diese Zeile löschen

    in Microsoft Excel Hilfe
    VBA - Wert in einer Spalte finden und diese Zeile löschen: Moin moin ihr Lieben, ich habe nun schon im Netz nach einer Lösung gesucht, aber nichts passendes oder funktionstüchtiges gefunden. Ich habe eine Tabelle mit Spalten A - G. Nun soll Excel in der...
  3. Freigegebene Excel-Tabelle als Quelle für Seriendruck

    in Sonstiges
    Freigegebene Excel-Tabelle als Quelle für Seriendruck: Hallo, :) wir haben eine Excel-Tabelle, welche auf der Cloud liegt und bei Änderungen automatisch speichert. Es haben mehrere Personen Lese- und Schreibrechte und sobald jemand etwas abändert,...
  4. VBA: Kein "Undo" mehr möglich?

    in Microsoft Excel Hilfe
    VBA: Kein "Undo" mehr möglich?: Hallo, ich habe meine Bestell-Tabelle so abgeändert, dass einiges per Makro, bzw. mittels Buttons übertragen wird. Also zum Beispiel wird mit einem Klick auf den Button die Lieferadresse gleich...
  5. EINLADUNG Access-Stammtisch Hannover Nr. 63 LIVE am Mittwoch 19.11.2025

    in Microsoft Access Hilfe
    EINLADUNG Access-Stammtisch Hannover Nr. 63 LIVE am Mittwoch 19.11.2025: EINLADUNG zum Access-Stammtisch Hannover Nr. 63 LIVE Endlich ist es wieder soweit! Persönlicher Austausch bei Speis und Trank. Interessante Gespräche in netter Atmosphäre. Termin: Mittwoch,...
  6. VBA: Notizen in Zelle einfügen

    in Microsoft Excel Hilfe
    VBA: Notizen in Zelle einfügen: Hallo zusammen, ich möchte über cells(x,y).AddComment "Text" eine Notiz einfügen. Das funktioniert leider nur sehr unzuverlässig. Mal ist der Text in der Notiz, mal wird nur eine leere Notiz...
  7. VBA Profis: Zellen in Left-Funktion ansprechen

    in Microsoft Excel Hilfe
    VBA Profis: Zellen in Left-Funktion ansprechen: Hallo liebe Leute, ich hoffe ihr könnt mir weiterhelfen: (Muster im Anhang) Ich würde gerne einen Textbaustein per Makro in seine Bestandteile zerlegen und in einem anderen Tabellenblatt...
  8. VBA Hilfe von Profis: Zeilen nach Kriterien suchen und in anderem Blatt einfügen

    in Microsoft Excel Hilfe
    VBA Hilfe von Profis: Zeilen nach Kriterien suchen und in anderem Blatt einfügen: Liebe Excel VBA-Profis in diesem Forum, ich hoffe hier auf Hilfe zu treffen. Ich arbeite gerade an einem Provisionstool welches als Endergebnis die jeweilige Abrechnung / Mitarbeiter auswirft....
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden