Ich möchte gerne aus einer Datei, die möglicherweise geschlossen ist, aus einer bestimmten Tabelle den ganzen Inhalt in eine Tabelle der Datei, aus welchem der VBA-Code enthalten ist, kopieren.
Nach meinem Verständnis happert es an dieser Zeile:
rngZiel = wsQuelle.UsedRange
Es werden keine Daten übertragen. Wenn ich die Adresse von ws.Quelle.UsedRange via Direktbereich) abfrage, erhalte ich
$B$1:$BJ$27
Ich möchte, dass der Inhalt in der Zieltabelle in den gleichen Zellen steht.
Danke für jeden Hinweis.
Gruss, Peter
Sub CopyDaten()
Dim wsQuelle As Worksheet
Dim wsZiel As Worksheet
Dim rngZiel As Range
Dim Dateiname As String 'Quellfile
Dim Tabelle As String 'Quelltabelle
ThisWorkbook.Activate
Dateiname = "Quelldatei.xls"
Tabelle = "Quelltabelle"
If Not FileIsOpen(Dateiname) Then
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & Dateiname
End If
Set wsQuelle = Workbooks(Dateiname).Worksheets(Tabelle)
Set wsZiel = Workbooks(ThisWorkbook.Name).Worksheets("Zieltabelle")
Set rngZiel = wsZiel.Range("A1")
rngZiel = wsQuelle.UsedRange
End Sub
Function FileIsOpen(sFile As String) As Boolean
Dim wkb As Object
On Error Resume Next
Set wkb = Workbooks(sFile)
If Err = 0 And Not wkb Is Nothing Then
FileIsOpen = True
End If
On Error GoTo 0
End Function