Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Übernahme von Zellinhalten
#11
Hallo,

vielen Dank für Eure Codes!

@snb: Ist Dein Code noch anpassbar wenn beide Tabellen mit den Zahlen nicht in derselben Spalte stehen und die Tabelle für die Zielwerte z.B. Tabelle F wäre?
Antworten Top
#12
Hallo Michael,

ich habe Deinen Code in der Beispieldatei ausprobiert (funktioniert dort einwandfrei). Bei der Übernahme in eine andere Excel Datei muss ich jedoch die Spaltenbezüge ändern. 

Könntest Du mir bitte in Deinem Code kurz anmerken, an welchen Stellen die Spaltenangaben sowohl von den übereinstimmenden Zahlenspalten als auch von den Spalten mit zu übernehmenden Text geändert werden müssen. Bei mir funktioniert momentan nur, die zweite Spalte im neuen Dokument in die andere Tabelle zu übernehmen (wie in der Beispieldatei vorhanden).
Antworten Top
#13
Code:
Sub Beispiel2()
Dim Daten As Variant
Dim Abgleich As Variant
Dim i As Long
Dim k As Variant
'Tabelle1 ist der "interne" Name der Tabelle. Dieser steht im VBA Editor im Baum links neben dem in Klammern stehenden Blattnamen.
'Ich habe die Spalten ersetzt durch die Spaltenbezeichnungen. Die andere Zahl ist dann jeweils die Zeilenzahl
Daten = Tabelle1.Range(Tabelle1.Cells(2, "A"), Tabelle1.Cells(Rows.Count, "B").End(xlUp))
Abgleich = Tabelle2.Range(Tabelle2.Cells(2, "B"), Tabelle2.Cells(Rows.Count, "B").End(xlUp).Offset(, 1))
For i = 1 To UBound(Abgleich)
    k = Application.Match(Abgleich(i, 1), Application.Index(Daten, 0, 1), 0)
    If VarType(k) <> 10 Then
        Abgleich(i, 2) = Daten(k, 2)
        Daten(k, 1) = ""
    Else
        Abgleich(i, 2) = ""
    End If
Next
Tabelle2.Cells(2, "C").Resize(UBound(Abgleich)).Value = Application.Index(Abgleich, 0, 2)
End Sub
Gruß
Michael
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste