Office: (Office 2010) VBA- mehrere Spalten nach mehren Suchkriterien durchsuchen

Helfe beim Thema VBA- mehrere Spalten nach mehren Suchkriterien durchsuchen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Liebe Excel Freaks, Hab folgende Herausforderungen. In der hochgeladenen Datei habe ich rechts oben eine Suchmatrix und unten links eine Zielmatrix.... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von axcel4129, 29. Oktober 2014.

  1. VBA- mehrere Spalten nach mehren Suchkriterien durchsuchen


    Liebe Excel Freaks,

    Hab folgende Herausforderungen. In der hochgeladenen Datei habe ich rechts oben eine Suchmatrix und unten links eine Zielmatrix. Ich würde gerne die Zielmatrix nach den einzelnen Spalten durchsuchen und sobald es eine Zeile gibt in der alle Einträge innerhalb einer Zeile mit jener Zeile der Suchmatrix übereinstimmen, den Betrag in Spalte F durch jenen aus der Suchmatrix Spalte O ersetzten und obendrein in Spalte G eine "1" schreiben.

    Siehe auch Tabellenblatt Lösung.

    Die beiden letztegenannten Dinge sind vermutlich die einfachste Übung.

    Die Frage ist, ob es einen Weg gibt, wie man simultan (oder auch hintereinander) mehrer Spalten aus der Suchmatrix durchsuchen kann, bis man irgendwann jenes findet, wo alle Suchwerte in der gleichen Zeile pro Spalte stehen.

    Es können in allen Spalten der Zielmatrix Werte mehrfach vorkommen.

    Es müssen nicht zwingend alle Tupel aus der Suchmatrix in Zielmatrix gefunden werden. Manche können allerdings auch doppelt vorkommen (wie in der Lösung). In diesem Fall ist das obere in der Suchmatrix auch das obere in Zielmatrix.

    Eine Lösung, die mir eingefallen wäre, wäre die .Find Function mit anschließender Überprüfung der Nebenspalten in derselben Zeile auf Übereinstimmung und wenn nicht, dann das ganze wiederholen mit find lookAfter:= Zeile + 1.

    Nur müsste man diesen Code sooft reinschreiben, wie man Einträge in der Zielmatrix hat, was wiederum variabel sein kann...

    Weiß jemand von euch eine Lösung?

    Danke schonmal.

    LG axcel4129

    :)
     
    axcel4129, 29. Oktober 2014
    #1
  2. Hello,

    Habe mittlerweile die Sache schon selbst gelöst.

    Ich nehme einfach sämtliche einzelnen Arrays und füge die dort hinterlegten Werte in ein Gesamtarray zusammen (mit "," getrennt). Das Ganze jeweils für Quell- und Zielmatrix

    Dieser String ist dann einmalig in der Erkennung und man kann es eindeutig einer bestimmten Zeile zuordnen.

    Bezüglich der Doppelkennung lässt sich dies auch noch mit einer If Bedingung und Sprungmarke lösen.

    LG axcel4129
     
    axcel4129, 31. Oktober 2014
    #2
  3. Hallo,

    hier noch eine typische Array-Dict-Variante für einen Tabellen-Abgleich.

    Code:
     
  4. VBA- mehrere Spalten nach mehren Suchkriterien durchsuchen

    Hallo,

    Hier auch noch eine einfache Stringvergleich.
    Code:
     
  5. Hallo Hsv,

    Da dein Code sehr kurz ist, würde ich ihn gerne etwas besser verstehen um mir in Zukunft mein Leben leichter zu machen.

    Was bewirken die Methoden ".SpecialCells(2).Offset(1).SpecialCells(2)" in der Suchrange c1?

    Was untersucht die Funkltionen Join bzw. die Worksheet Function Index mit Resize in diesem Zusammenhang in der Zielmatrix?

    If Join(Application.Index(cl.Resize(, 4).Value, 1, 0)) = Join(Application.Index(c.Resize(, 4).Value, 1, 0)) Then

    Danke vielmals!

    Lg axcel
     
    axcel4129, 2. November 2014
    #5
  6. Hallo Michael,

    Code:
    sind alle Zellen mit Konstanten in Spalte K (nicht Zelle K1 und keine leeren Zellen).
    In Worten.
    Code:
    Setz ein MessageBox für die Codezeile und du verstehst es. *wink.gif*
    Code:
     
  7. \@HS(V),

    die Übernahme des Betrages fehlt noch.
     
  8. VBA- mehrere Spalten nach mehren Suchkriterien durchsuchen

    Hallo @xlph,

    Du meinst ?
    Code:
     
  9. Hallo,

    Das soll ja Sinn des Makros sein - den Betrag zu übertragen und eine Spalte
    weiter den Datensatz mit einer '1' kennzeichnen.

    Sieh dir Ist- und Soll-Zustand noch mal genau an.
    Die Schwierigkeit liegt darin, dass doppelte Datensätze in beiden Tabellen vorhanden ist, jedoch in der Quell-Tabelle mit unterschiedlichem Betrag.
     
  10. Hallo,

    Es gibt zwei verschiedene Dateien, und ich habe die erste verwendet.

    Neuen code.
    Code:
     
  11. Hallo xlph,

    dann füge noch folgende Zeile in das Makro ein:


    PHP:
             c.Offset(, 4) = cl.Offset(, 4)
     
  12. Hallo,

    vergleicht einfach euer Ergebnis mit dem Soll in Spalte F und G im Blatt
    'Lösung'. Dann seht ihr, dass das nicht das gewünschte Ergebnis ist.
     
  13. VBA- mehrere Spalten nach mehren Suchkriterien durchsuchen

    Hallo,

    Ich glaube, wir beide haben das gleiche Ergebnis.
     
Thema:

VBA- mehrere Spalten nach mehren Suchkriterien durchsuchen

Die Seite wird geladen...
  1. VBA- mehrere Spalten nach mehren Suchkriterien durchsuchen - Similar Threads - VBA Spalten mehren

  2. Spalten wieder einblenden per VBA

    in Microsoft Excel Hilfe
    Spalten wieder einblenden per VBA: Guten Abend zusammen, ich habe das kleine Problem das sich die Spalte "E:Z" nicht mehr einblenden lassen, weil das "Ausblenden" unter Private Sub Worksheet_Activate() steht und das...
  3. Wie Spalten per VBA mit definierten Spaltenbreiten einfügen ?

    in Microsoft Excel Hilfe
    Wie Spalten per VBA mit definierten Spaltenbreiten einfügen ?: Guten Abend zusammen, wie kann man die gewählten Spalten per VBA mit definierten Spaltenbreiten in Word einfügen ? Danke für Deine Antwort im Voraus Jens Sub EtW() ' Excel zu Word kopieren...
  4. VBA: Spalten auf anderen Worksheeds in der Mappe ausblenden.

    in Microsoft Excel Hilfe
    VBA: Spalten auf anderen Worksheeds in der Mappe ausblenden.: Hallo zusammen, Eine Tabelle mit 9 Worksheets, Datenblatt, Studien, Studie_1 ...Studie_7. Auf dem Deckblatt werden in Zelle B4-B10 die Namen der Studien eingetragen. Davon abhängig ob ein Name...
  5. Primärschlüssel/Fremdschlüssel aus 2.Tabelle automatisch einfügen

    in Microsoft Access Hilfe
    Primärschlüssel/Fremdschlüssel aus 2.Tabelle automatisch einfügen: Hallo zusammen, ich stehe gerade vor dem Problem, dass ich die Datensätze zwischen zwei Tabellen nicht verknüpfen kann. Konkret habe ich die beiden Tabellen tblEigenschaft und tblBasis. In der...
  6. Werte der letzten Zelle einer Spalte in mehreren Tabellenblättern ermitteln

    in Microsoft Excel Hilfe
    Werte der letzten Zelle einer Spalte in mehreren Tabellenblättern ermitteln: Hallihalllo, Ich sitze gerade an meine Bachelorarbeit und muss mittels VBA ein Auswertungsprogramm für erhobene Daten erarbeiten. Ich suche schon ewig im Internet nach dem passenden Code und...
  7. VBA mehrere Spalten abfragen, kopieren einfügen

    in Microsoft Excel Hilfe
    VBA mehrere Spalten abfragen, kopieren einfügen: Hi zusammen, mit folgendem code frage ich mehrere sheets ab und eine Spalte (C) und wenn in der Spalte ein X steht kopiert er mir die ganze Zeile und fügt sie mir auf Tabelle1 ein. Jetzt möchte...
  8. VBA zum Kopieren mehrerer Bereiche wenn Bedingung erfüllt

    in Microsoft Excel Hilfe
    VBA zum Kopieren mehrerer Bereiche wenn Bedingung erfüllt: Hallo, ich bin gerade ziemlich am Verzweifeln. Habe 15 Dateien mit je ca. 500.000 Zeilen. Die Blätter sind folgendermaßen strukturiert: <tbody> Datum + Uhrzeit Wert Intervall-Nr 1.1.19...
  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