Daten aus anderem tabellenblatt Übernehmen

  • Excel

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Daten aus anderem tabellenblatt Übernehmen

    Hallo liebe Community,

    ich würde gerne daten in einem tabellenblatt (Tabelle1), die in tabelle2 vorhanden sind suchen und die entsprechenden werte in den darauf folgenden spalten der tabelle 1 in tabelle 2 automatisch übernehmen.
    Wenn es den wert aus tabelle 2 in tabelle 1 nicht gibt, sollen die entprechenden Zellen leer bleiben.
    Ich hoffe ihr könnt mir helfen. Hier mein Code (ich bin ziemlich neu)...

    Visual Basic-Quellcode

    1. Sub test()
    2. Dim m As Integer, n As Integer
    3. Worksheets(Tabelle1).Activate
    4. Worksheets(Tabelle2).Activate
    5. n = 0
    6. m = 0
    7. Do While Worksheets("tabelle1").Cells(2, 8 + n).Value <> ""
    8. If Sheets("tabelle2").Cells(8, 2 + n).Value <> Sheets(Tabelle1).Cells(8, 2 + n).Value Then
    9. n = n + 1
    10. End If
    11. 'Einsetzen der in den tabelle2 gefundenen Werte in den tabelle1
    12. Worksheets("Tabelle1").Cells(8, 2 + n).Value = Worksheets(Tabelle2).Cells(8, 2 + n).Value
    13. Worksheets("Tabelle1").Cells(9, 2 + n).Value = Worksheets(Tabelle2).Cells(9, 2 + n).Value
    14. Worksheets("Tabelle1").Cells(10, 2 + n).Value = Worksheets(Tabelle2).Cells(10, 2 + n).Value
    15. Worksheets("Tabelle1").Cells(11, 2 + n).Value = Worksheets(Tabelle2).Cells(11, 2 + n).Value
    16. Worksheets("Tabelle1").Cells(8, 2 + n).Value = Worksheets(Tabelle2).Cells(8, 2 + n).Value 'tabelle2
    17. Loop
    18. 'Falls die Tabelle ist, und die Firma nicht gefunden wurde, wird die Zelle leer gelassen
    19. m = n + 1
    20. If Worksheets("tabelle2").Cells(8, 2 + m).Value = "" Then Worksheets("tabelle1").Cells(8, 2 + n).Value = ""
    21. End Sub


    Code-Tags eingefügt. ~Thunderbolt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Thunderbolt“ ()

    Reicht ein Copy + Paste per Makro? Ich weiß halt nicht genau was du noch machen möchtest.

    Anbei mal ein simples Beispiel für VBA das die einzelnen Zellen übernimmt. Das kann man aber noch performanter machen,
    beispielweise mittels Kopieren und Ähnlichem.

    Visual Basic-Quellcode

    1. Sub SimpleExample()
    2. 'Daten von Tabelle1 in Tabelle2
    3. Dim cell As Range
    4. For Each cell In ThisWorkbook.Worksheets("Tabelle1").UsedRange
    5. ThisWorkbook.Worksheets("Tabelle2").Cells(cell.Row, cell.Column).Value2 = cell.Value2
    6. Next cell
    7. End Sub

    Gruß Murdoc
    Mal sehen, ob dir dieser Ansatz schon genügend Info gibt um alleine weiter zu machen:

    Visual Basic-Quellcode

    1. ​For Each Cell in Intersect(UsedRange,Range("A:A"))
    2. FirmenName = Cell.Value
    3. Set FoundCell = Tabelle2.Range("A:A").Find(Firmenname, LookIn:=xlValues, LookAt:=xlWhole)
    4. If FoundCell Is Nothing Then 'not found in table2
    5. 'do something
    6. End If
    7. Next
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --