Spalteninhalte kopieren wenn Bedingung erfüllt.

Sorry, hatte weiter oben den Fehler einmal dargestellt. Und er kommt immer noch wenn ich den Code starte.
Sobald der Code die zweite Datei "passiert" hat, und in Die Tabelle springen soll wird der Fehlercode eingeblendet.


Visual Basic:
Hallo, habe den Code mit meinen mitteln einmal verändert. Jetzt wird ein Fehler bei:
Visual Basic:

' Arbeitsblätter festlegen
    Set wsQuelle = wbQuelle.Sheets(1) ' Tabelle in Listemit
    Set wsZiel = wbZiel.Sheets(1)     ' Tabelle in Listeohne

angezeigt.
anwendungs und objectdefinierter Fehler
Laufzeitfehler 1004

Der Pfad und die Tabellenbezeichnungen sind korrekt, x mal kontrolliert.
 
Dann leg mal für alle 4 Variablen eine Überwachung fest, und während dem Einzelschritt (F8) schau dir die Werte dort genau an
 
Das wird beim überwachnungsausdruch angezeigt:
Als Ergebnis wird: Wert außerhalb des Kontexts, Typ wird mit Empty angezeigt. In Tabelle1

Wenn ich das mit
Errorhandler:
Debug.Print Err.Description, Err.Number, Err.Source
Exit Sub
mache, wird bei Wert ")" und bei Typ String angezeigt. Und bei Kontext Tabelle1 Datenkopieren44
 
Da hast du es: eine Variable hat nen ungültigen Wert (Und WELCHE???)

Deine Aussage: Ich habe die Dateinamen usw alle kontrolliert ist wertlos.
Das Programm entscheidet, ob dein Dateiname korrekt ist
 
Danke für den Hinweis. Habe die Tabellen neu erstellt (Kopierfehler und so). Habe nun einen abgewandelten Code, der aber immer noch nicht kopiert wie ich es möchte. Es gibt keine Fehlermeldung mehr. Suche also immer noch den Fehler im VBA Code. Der Vergleich in Spalte B muss TEXT vergleichen. Nochmal mein Versuch:
Visual Basic:
Sub DatenKopieren46()
    Dim wbMit As Workbook
    Dim wbOhne As Workbook
    Dim wsMit As Worksheet
    Dim wsOhne As Worksheet
    Dim letzteZeileMit As Long
    Dim letzteZeileOhne As Long
    Dim i As Long, j As Long
    
    ' Öffnen der Dateien
    Set wbMit = Workbooks.Open("C:\Users\Besitzer\Desktop\ListemitA1.xlsx")
    Set wbOhne = Workbooks.Open("C:\Users\Besitzer\Desktop\ListeohneA1.xlsx")
    
    Set wsMit = wbMit.Sheets("Tabelle1")
    If wsMit Is Nothing Then
        Exit Sub
    End If
    
    Set wsOhne = wbOhne.Sheets("Tabelle1")
    If wsOhne Is Nothing Then
        Exit Sub
    End If
    
    ' Bestimmen der letzten Zeile in beiden Tabellen
    letzteZeileMit = wsMit.Cells(wsMit.Rows.Count, 1).End(xlUp).Row
    letzteZeileOhne = wsOhne.Cells(wsOhne.Rows.Count, 1).End(xlUp).Row
    
    ' Daten vergleichen und kopieren
    For i = 1 To letzteZeileOhne
        For j = 1 To letzteZeileMit
            If wsMit.Cells(j, 2).Value <> "" And wsOhne.Cells(i, 2).Value <> "" And wsMit.Cells(j, 2).Value = wsOhne.Cells(i, 2).Value Then
                wsOhne.Cells(i, 1).Value = wsMit.Cells(j, 1).Value
            End If
        Next j
    Next i
    
    ' Speichern und Schließen der Dateien
    wbOhne.Save
'    wbOhne.Close False
'    wbMit.Close False
End Sub
 
Zurück