Daten für Wert in andere Tabelle speichern

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Daten für Wert in andere Tabelle speichern
von: Egger
Geschrieben am: 02.03.2005 12:10:11
Hallo,
hab ein Problem mit folgendem Makro:


Sub GetData_BeiKlick()
Dim wksOrder As Worksheet, WksData As Worksheet
Dim var As Variant
Dim iRow As Integer, iRowL As Integer
Set wksOrder = Worksheets("Tabelle1")
Set WksData = Worksheets("Tabelle2")
Set wksTrue = Worksheets("Tabelle3")
iRow = 2
Do Until IsEmpty(wksOrder.Cells(iRow, 1))
        var = Application.Match(wksOrder.Cells(iRow, 1), WksData.Columns(1), 0)
    If IsError(var) Then
     MsgBox "nicht gefunden"
    Else
       iRowL = wksTrue.Cells(Rows.Count, 1).End(xlUp).Row + 1
       wksTrue.Rows(iRowL).Value = WksData.Rows(iRow).Value
    End If
    iRow = iRow + 1
  Loop
End Sub

Es soll die Werte aus Spalte A (Tabelle1) in Spalte A (Tabelle2) suchen und die komplette Zeile in Tabelle3 schreiben.
Er macht dies auch aber er nimmt nicht die Zeile der zugehörigen Werte aus Tabelle 2 sonder nur von oben angefangen (soviele wie in Tabelle 1 sind)
Wäre echt nett wenn jemand den Fehler finden würde.
Thx for help
Bild

Betrifft: AW: Daten für Wert in andere Tabelle speichern
von: Egger
Geschrieben am: 02.03.2005 16:23:23
Schätze mal es liegt an WksData.Rows(iRow).Value er bekommt nicht die Zeile von dem gefundenen Wert in WksData sonder die Zeilennummer von wo er sich in wksOrder befindet.
Hat jemand Vorschläge?
Bild

Betrifft: AW: Daten für Wert in andere Tabelle speichern
von: WernerB.
Geschrieben am: 03.03.2005 14:15:56
Hallo X,
was hältst Du hiervon?

Sub GetData_BeiKlick()
Dim wksOrder As Worksheet, WksData As Worksheet, WksTrue As Worksheet, _
    SuBe As Range, _
    var As Variant, _
    s As String, _
    iRow As Long, iRow2 As Long, iRowL As Long, i As Long
    Set wksOrder = Worksheets("Tabelle1")
    Set WksData = Worksheets("Tabelle2")
    Set WksTrue = Worksheets("Tabelle3")
    iRow = wksOrder.Cells(Rows.Count, 1).End(xlUp).Row
    iRow2 = WksData.Cells(Rows.Count, 1).End(xlUp).Row
    For i = 2 To iRow
      s = wksOrder.Cells(i, 1).Text
      With WksData
        Set SuBe = .Range("A1:A" & iRow2).Find(What:=s, _
          After:=.Range("A" & iRow2), LookAt:=xlWhole)
        If Not SuBe Is Nothing Then
          iRowL = WksTrue.Cells(Rows.Count, 1).End(xlUp).Row
          If iRowL = 1 And WksTrue.Cells(1, 1).Value = "" Then iRowL = 0
          WksTrue.Rows(iRowL + 1).Value = WksData.Rows(SuBe.Row).Value
          Set SuBe = Nothing
        Else
          MsgBox "Suchbegriff '" & s & "' nicht gefunden !", 64, _
            "Dezenter Hinweis für " & Application.UserName & ":"
        End If
      End With
    Next i
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Daten für Wert in andere Tabelle speichern"