ich möchte gern per VBA ein Tabellenblatt aus einer anderen Datei einfügen. Das hab ich dank Code aus dem Archiv soweit hinbekommen (siehe unten)
Allerdings besteht noch das Problem, dass das kopierte Tabellenblatt einem automatischen Export aus einem anderen Programm entstammt. Darum wird die erste Spalte von Excel nicht als Zahl erkannt, weshalb ich dann den SVerweis nicht nutzen kann.
Gibt es entweder eine Möglichkeit, die erste Spalte direkt per VBA in Zahlen umzuwandeln,
oder die Möglichkeit das Tabellenblatt mit einer Spalte Versatz, also erst ab Zelle B1 statt A1 einfügen zu lassen. So dass Zelle A1 aus der Quelldatei in meinem Tabellenblatt in B1 eingetragen wird usw.?
Dann könnte ich in A1 einfach "=WERT(B1) eintragen. Wäre zwar etwas gepfuscht, würde aber soweit funktionieren, da dieses Blatt sowieso nur im Hintergrund die Daten bereitstellen soll, auf die anderen Tabellenblätter dann einfach per SVerweis zugreifen können.
Diese Daten sollen aber wöchentlich geupdatet werden, darum würde ich das einlesen und das "In Zahl umwandeln" gerne irgendwie automatisieren.
Viele Grüße
Martin
Sub Importieren()
Dim QWB As Workbook, ZWB As Workbook
Dim QWS As Worksheet, ZWS As Worksheet
Dim quelldatei As Variant
Worksheets("Import").Range("B6:B1000").ClearContents
quelldatei = Worksheets("Link").Cells(4, 6) ' hier liegt der Hyperlink zur Quelldatei
'Wenn die Datei erst geöffnet werden muss
Set ZWB = ThisWorkbook ' Ziel, Workbook mit diesem Makro
Set ZWS = Worksheets("Import") ' Ziel
Set QWB = Workbooks.Open(ordner) ' Quelle, aus der die Tabelle41 kopiert werden soll
Set QWS = QWB.Worksheets("Tabelle1") ' Quelle
QWS.Cells.Copy ZWS.Cells(1, 1) ' oder before
QWB.Close ' Wenn die Datei wieder geschlossen werden soll
End Sub