Clever-Excel-Forum

Normale Version: Makro Suche aus Tabelle1 Wert aus Tabelle 2, kopiere aus Tabelle 2 den Wert und füge
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

ich hatte das letzte mal mit VBA und Makros erstellen zu tun, im Jahr 2005. 
Und bin echt auf eure Hilfe angewiesen und hoffe, ihr könnt mir schnellstmöglich weiter helfen.

Ich habe eine Arbeitsmappe mit 2 Sheets.

1. Sheet: Abholliste
2. Sheet: Geräte

Jeden Tag ändert sich die Abholliste mit den Werten. 

Was aber aber immer wieder vorgegeben ist. Ist in der Abholiste Spalte C2-C250, dies sind die Inventar Nummern. In dieser Spalte ist immer ein Wert.
Dieser Wert muss kopiert werden und den kopierten Wert findet man im 2.Sheet Geräte Spalte A2-A2500. Von diesem Wert benötige ich dann aus Spalte Z2-2500 und AA2-2500. Diese beiden Werte müssen dann in der Abholliste in Spalte D2-D250 und E2-E250 eingefügt werden ...

Und das dann immer fortlaufend.

Erst C2 wert kopieren, aus sheet 2 finden, spalte z2 kopieren und spalte aa2 kopieren zurück zu sheet 1 und in d2 und e2 einfügen.
dann c3 wert kopieren, aus sheet 2..... usw...

Ich hoffe die Erklärung ist eindeutig.
Hallo

wenn die Erklaerung eindeutig war müsste der Code richtig sein.  Bitte ausprobieren.

mfg  Gast 123


Code:
Option Explicit      '9.9.2017  Gast 123  Clever Foruö


Sub Abholliste()
Dim rFind As Object, AC As Range
Dim Tb2 As Worksheet, lz As Long
Set Tb2 = Worksheets("Geräte")

With Worksheets("Abholliste")
  'LastZell in Tabelle Geräte ermitteln
  lz = .Cells(Rows.Count, 3).End(xlUp).Row
 
  'Schleife für alle Eintraege in Spalte C auflisten
  For Each AC In .Range("C2:C" & lz)
     Set rFind = Tb2.Columns(1).Find(What:=AC, After:=Range("A1"), _
         LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlNext)

     'Auswertung Spalte Z+AA
     If Not rFind Is Nothing Then
        AC.Cells(1, 2).Value = Tb2.Cells(rFind.Row, "Z").Value
        AC.Cells(1, 3).Value = Tb2.Cells(rFind.Row, "AA").Value
     End If
  Next AC
End With
End Sub
Danke für deine Antwort.

Aber irgendwie klappt es nicht.

Ich habe die Mal eine Demo Liste hochgeladen, wie es aussieht. Und was Sie machen soll.

Gruß.
Hallo,

Zitat:diesem Wert benötige ich aus Spalte Z2-2500 und AA2-2500   -  Ich habe mich daran gehalten, dein Beispiel zeigt mir aber Werte in Spalte "B+C"

der Fehler liegt hier:   Die Spalte von "Z" und "AA" auf B und C aendern.  Dann sollte es klappen.

        AC.Cells(1, 2).Value = Tb2.Cells(rFind.Row, "B").Value    
        AC.Cells(1, 3).Value = Tb2.Cells(rFind.Row, "C").Value   

mfg  Gast 123