Herbers Excel-Forum - das Archiv

Daten für Wert in andere Tabelle speichern

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
Excel-Beispiele zum Thema "Daten für Wert in andere Tabelle speichern"
Blätter in andere Arbeitsmappen kopieren Variablenübergabe in andere Arbeitsmappen
Bezüge auf Namen in anderen Mappen aufheben Blattinhalt von einer zur anderen Arbeitsmappe kopieren
Sicherungskopie in einem anderen Verzeichnis erstellen Teilergebnisse einer Serie von Tabellen in anderes Blatt kopieren
Bei Eingabe andere Werte löschen Eintragungen im 1. Blatt in andere Blätter übernehmen
Währung in der Systemsteuerung/Ländereinstellungen umstellen Zeile mit aktiver Zelle in anderes Blatt kopieren