VBA - Vergleichen Sie zwei Spalten in einem Arbeitsblatt mit zwei Spalten in einem anderen Arbeitsblatt

Ro_Ba

Vergleichen Sie zwei Spalten in einem Arbeitsblatt mit zwei Spalten in einem anderen Arbeitsblatt und rufen Sie die entsprechenden Werte aus einigen anderen Spalten mit übereinstimmenden Spalten ab.

Ich habe eine eindeutige ID und Zeilen-ID in meinem ersten Blatt. Ich habe die gleiche eindeutige ID und Zeilen-ID in meinem zweiten Blatt in zufälliger Reihenfolge. Ich möchte die eindeutige ID und Zeilen-ID in meinem ersten Blatt mit dem zweiten Blatt abgleichen. Ich habe einige Daten im zweiten Blatt, die in das erste kopiert werden sollen, wenn sowohl die eindeutige ID als auch die Zeilen-ID übereinstimmen. Wo immer es eine Übereinstimmung gibt, sollten die entsprechenden Daten aus dem zweiten Blatt kopiert und in das erste Blatt in der Nähe der übereinstimmenden eindeutigen ID und Zeilen-ID eingefügt werden.

Ich kann die Dateien nicht hochladen, da sie vertraulich sind.

Ich bin nicht gut in VBA, jede Hilfe, um dieses Problem zu lösen, wird sehr geschätzt.

Stange

VBA-Ansatz

Unten ist ein sehr einfacher Ansatz zum Abrufen der Werte. Ich bin mir ziemlich sicher, dass es viele andere effizientere Ansätze gibt, aber ich würde mich nur damit beschäftigen, wenn sich das als zu langsam herausstellt.

Zur Verwendung - konfigurieren Sie die ersten Einstellungen gemäß den Kommentaren und hoffentlich können Sie loslegen!

Sub RetrieveValues()

    Set ws1 = Sheets("Sheet1")      'Sheet we are going to copy results into
    Set ws2 = Sheets("Sheet2")      'Sheet we are going to copy results from

    'Identify the columns to use in the sheet we are copying into
    ws1UniqueIDCol = "B"         'Is the column with the first part of our lookup key - the unique id
    ws1LineIdCol = "C"           'Is the column with the second part of our lookup key - the line id
    ws1ValToWriteCol = "D"       'Is the column we want to put the found value into
    
    ws1StartRow = 3              'The row we want to start processing first, we can calc the last row automatically
    ws1EndRow = ws1.UsedRange.Rows(ws1.UsedRange.Rows.Count).Row
    
    
    'Identify the columns to use in the sheet we are copying from
    ws2UniqueIDCol = "B"         'Is the column with the first part of our lookup key - the unique id
    ws2LineIdCol = "C"           'Is the column with the second part of our lookup key - the line id
    ws2ValToCopyCol = "D"        'Is the column we want to copy the value from
    
    ws2StartRow = 3              'The row we want to start search first, we can calc the last row automatically
    ws2EndRow = ws2.UsedRange.Rows(ws2.UsedRange.Rows.Count).Row
    
    'iterate through search terms
    For i = ws1StartRow To ws1EndRow        '
        searchKey = ws1.Range(ws1UniqueIDCol & i) & ws1.Range(ws1LineIdCol & i)
        
         'if we have a non blank search term then iterate through possible matches
        If (searchKey <> "") Then
            For j = ws2StartRow To ws2EndRow
                 foundKey = ws2.Range(ws2UniqueIDCol & j) & ws2.Range(ws2LineIdCol & j)
                  
                  'if we have a match then copy the result and end this search (so we will take the first match found only)
                 If (searchKey = foundKey) Then
                    ws1.Range(ws1ValToWriteCol & i).Value2 = ws2.Range(ws2ValToCopyCol & j).Value2
                    Exit For
                 End If
            Next
        End If
    Next

End Sub

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Vergleichen von zwei Spalten in einem Arbeitsblatt mit VBA

Stapeln Sie verschiedene Spalten in einer Spalte auf einem anderen Arbeitsblatt

Vergleichen Sie eine Spalte in einem Datenrahmen mit zwei Spalten eines anderen Datenrahmens

So vergleichen Sie ein Paar von zwei Spalten mit einem anderen Spaltenpaar eines Datenrahmens in r

Vergleichen von zwei Spalten, Finden von Nichtübereinstimmungen und Einfügen einer ganzen Zeile in ein neues Arbeitsblatt mit VBA

Eine Spalte in einem Datenrahmen mit zwei anderen Spalten in einem anderen Datenrahmen vergleichen?

Ermitteln Sie den Wert einer Zeile, indem Sie zwei Spalten und einen Wert mit einem Bereich eines anderen Datensatzes vergleichen

Konvertieren von Zellen in einer Spalte in einem Arbeitsblatt als Spaltenüberschriften in einem anderen Arbeitsblatt

Füllen Sie die Zellen des Arbeitsblatts mit mehr als 500 Spaltenüberschriften aus einem anderen Arbeitsblatt

Vergleichen von Zeilen mit zwei Spalten in einem einzelnen Datenrahmen

Power BI: Vergleichen Sie zwei Spalten in einem Tabellenvisual

Vergleichen Sie zwei Spalten, die Wortlisten in einem Pandas Dataframe enthalten

Spalten automatisch anpassen, beginnend mit einem bestimmten Arbeitsblatt

EXCEL VBA - Kopieren von Spalten, die einer Bedingung entsprechen, aus einem Arbeitsblatt in ein formatiertes Arbeitsblatt

Kombinieren Sie zwei oder mehr private Sub in einem Arbeitsblatt

Vergleichen Sie zwei Spalten

VBA Best Practice - Arbeitsblatt aus einem anderen Arbeitsblatt formatieren

VBA - So verknüpfen Sie mehrere Zellen in einem anderen Arbeitsblatt

VBA-Arbeitsblatt Sub Erstellen Sie einen benannten Bereich in einem anderen Arbeitsblatt

Vergleichen Sie zwei Spalten mit unterschiedlichen Faktorstufen

Vergleichen Sie Werte in zwei Spalten mit Pandas

Vergleichen Sie zwei Spalten mit Pandas

Vergleichen Sie zwei Spalten mit Bedingungen

Vergleichen Sie zwei Spalten mit Pandas 2

Vergleichen Sie zwei Spalten mit einer Koaleszenzfunktion

Vergleichen Sie zwei Spalten in einem Datenrahmen. Wenn dies falsch ist, erfassen Sie den Wert einer anderen Spalte

Löschen Sie leere Zeilen in einem Excel-Arbeitsblatt in einer anderen Excel-Arbeitsmappe mit vba

Erstellen Sie eine neue Spalte mit einem Wert aus Übereinstimmungen aus zwei anderen Spalten in Pandas

VBA "=aktive Zellen" aus einem anderen Arbeitsblatt

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  3. 3

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  4. 4

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  7. 7

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  8. 8

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  9. 9

    Eclipse Oxygen - Projekte verschwinden

  10. 10

    Wie wählt man Unterschiede mit drei Tabellen aus?

  11. 11

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  12. 12

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  13. 13

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  14. 14

    Wie kann ich den Kaskadenmodus global einstellen?

  15. 15

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  16. 16

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  17. 17

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  18. 18

    Was ist schneller: SUM über NULL oder über 0?

  19. 19

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  20. 20

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  21. 21

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

heißlabel

Archiv