Guten Tag,
Ich bin momentan dabei ein Makro zu schreiben, welches die Daten aus einer Tabelle in die Tabell eines anderen Dokuments überträgt. nun komme ich noch nicht darauf, wie ich die Zeilen der Tabellen ansprechen muss, damit das ganze funktioniert. Das Problem ist, dass die Tabellenspalten nicht die gleichen Bezeichnungen haben. in der einen Tabelle ist Beispielsweise die Projektnummer als SPalte aufgeführt. Diese ist in der zu importierenden Datei nur in einem Feld in der Kopfzeile aufgeführt. Wenn die Tabellen identisch sind, könnte ich es ja über copy und paste machen aber das geht leider nicht.
Ich füge meinen bisher programmierten Code mal ein, um das ganze hoffentrlich verständlich zu machen
In der dick und kursiv geschriebenen Zeile zeigt es mir gerade den Fehler "1004 Anwendungs- oder Objektdefinierter Fehler" an
Sub Daten_Übertragen()
Dim Dateiname As Variant
Dim wbQuelle As Workbook
Dim Letztezeile As Long
Dim Datenbank As ListObject
Dim Angebot As ListObject
Dim Zeile As Long
Dim Angebotszeile As Long
'Screenupdating deaktivieren
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'Datei wählen
Dateiname = Application.GetOpenFilename(FileFilter:="Excel-Dateien (*.xls*),*.xls*")
If Dateiname <> False Then
'Datei öffnen/Variablen definieren
Set wbQuelle = Workbooks.Open(Filename:=Dateiname)
Set Datenbank = tb_Datenbank.ListObjects(1)
Set Angebot = wbQuelle.Worksheets(1).ListObjects(1)
Letztezeile = Datenbank.DataBodyRange.Rows.Count
Angebotszeile = Angebot.DataBodyRange.Rows.Count
'Daten übertragen
'wbQuelle.Worksheets(1).Range("B15:R20").Copy
Datenbank.DataBodyRange.Range(Letztezeile, 2).Value = Angebot.DataBodyRange.Range(Angebotszeile, 2).Value
'Arbeitsmappe schließen
wbQuelle.Close SaveChanges:=False
End If
'Screenupdating deaktivieren
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
|