Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1472to1476
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten in bestehendes Blatt kopieren statt in neues

Daten in bestehendes Blatt kopieren statt in neues
07.02.2016 14:09:47
Mike
Hallo,
ich verwende folgenden Code, um Daten von verschiedenen Mappen in eine andere zu kopieren.
Das klappt soweit, allerdings gelingt es mir nicht, die Daten in ein bestehendes Blatt (Worksheets(2) ) einzufügen, sondern nur in ein neues.
Wenn ich statt varNewSheet Worksheets(2) verwende, dann erhalte ich den Fehler "out of range".
Kann mir jemand sagen, wie ich das richtig schreibe ? Das neue Blatt wird nicht benötigt, die Daten sollen nur in Blatt 2 eingefügt werden.
Mein Code:
Sub ImportFiles(varPath)
Dim objFile As Object
Dim objFolder As Object
Dim objFSO As Object
Dim varNewSheet As Worksheet
Dim varRowCount As Integer
Dim varSheet As Worksheet
Dim varWorkbook As Workbook
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(varPath)
Set varNewSheet = Worksheets.Add
For Each objFile In objFolder.Files
varRowCount = varNewSheet.UsedRange.Rows.Count
If objFile.Type = "Microsoft Excel Worksheet" Or objFile.Type = "Microsoft Excel Macro- _
Enabled Worksheet" Then
Set varWorkbook = Application.Workbooks.Open(varPath & objFile.Name)
Set varSheet = varWorkbook.Sheets(1)
varSheet.Range("B17:F49").Copy
varNewSheet.Activate
If varRowCount = 1 Then
varNewSheet.Cells(1, 1).Value = objFile.Name
varNewSheet.Cells(varRowCount + 1, 1).PasteSpecial Paste:=xlValue
Else
varNewSheet.Cells(varRowCount + 1, 1).Value = objFile.Name
varNewSheet.Cells(varRowCount + 2, 1).PasteSpecial Paste:=xlValue
End If
Application.DisplayAlerts = False
varWorkbook.Close
End If
Next
Application.DisplayAlerts = True
Set objFolder = Nothing
Set objFile = Nothing
Set objFSO = Nothing
MsgBox "Your import has been completed. :)", vbInformation, "Success"
End Sub
Vielen Dank im Voraus,
Mike

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten in bestehendes Blatt kopieren statt in neues
07.02.2016 14:42:21
Oberschlumpf
Hi Mike
die Referenzierung Worksheets(2) verweist auf die 2. Tabelle in einer Excel-Datei und setzt voraus, dass diese Datei mindestens zwei Tabellen enthält.
Die Meldung "out of range" besagt, dass sich das Ziel ...(2) außerhalb des gültigen Bereichs befindet.
Und das bedeutet, das in deiner Datei nur - eine - Tabelle enthalten ist.
Nach dieser (meiner) Logik zu urteilen würde ich mal behaupten, du hast der einzigen Tabelle in deiner Datei den Tabellennamen "Worksheets(2)" gegeben und willst nun z Bsp mit dem Befehl
Worksheets(2).Cells(1, 1).Value = objFile.Name
in der Tabelle mit dem Namen "Worksheets(2)" in die Zelle A1 den Namen einer Datei eintragen.
Wenn ich Recht habe...
...dann machst du einen großen Fehler.
- verwende nie Befehls- oder sonstige VBA-Schlüsselörter, wie z Bsp Worksheets, Sheets, Enabled, Select usw als Datei- Tabellen- oder Variablennamen
...dann ändere mal den Tabellennamen "Worksheets(2)" um in z Bsp "test(2)", und jede Codezeile, in der du eigentlich Worksheets(2). verwenden willst, ändere um in

Sheets("test(2)").Cells(1, 1).Value = objFile.Name
Sheets("test(2)").Cells(varRowCount + 1, 1).PasteSpecial Paste:=xlValue

das sind nur 2 Zeilen...ändere auch alle anderen Zeilen, die mit varNewSheet beginnen.
Hilfts?
Ciao
Thorsten

Anzeige
AW: Daten in bestehendes Blatt kopieren statt in neues
07.02.2016 15:59:11
Mike
Hallo Thorsten,
vielen Dank !
Ich habe zwei Blätter in der Zieldatei, "Summary" und "Import" und habe es auch schon mit der direkten Blattbezeichnung probiert, bekomme aber immer den gleichen Fehler und zwar bei der Zeile varNewSheet.Activate (hier).
Kann das Problem sein, dass Excel zu diesem Zeitpunkt nicht in der Zieldatei ist und daher das Blatt in der Ausgangsdatei statt in der Zieldatei sucht ?
VG,
Mike

AW: Daten in bestehendes Blatt kopieren statt in neues
07.02.2016 16:01:22
Oberschlumpf
Hi Mike
wie wärs denn mit ner Bsp-Datei per Upload?
Ciao
Thorsten

AW: Daten in bestehendes Blatt kopieren statt in neues
07.02.2016 16:10:08
Mike
Hallo Thorsten,
hier das Beispiel:
https://www.herber.de/bbs/user/103344.xlsm
Vielen Dank und VG,
Mike

Anzeige
AW: Daten in bestehendes Blatt kopieren statt in neues
07.02.2016 16:47:44
Oberschlumpf
Hi Mike
ne Bsp-Datei sagt eigtl - immer - mehr als viel zu viele Wörter...
hier, versuch mal:
https://www.herber.de/bbs/user/103347.xlsm
In deinem Code waren so n paar Logikfehler.
Ich hab den Code so "umgebaut", dass nun die Daten in die Tabelle "Import" importiert werden.
Hilfts?
Ciao
Thorsten

AW: Daten in bestehendes Blatt kopieren statt in neues
07.02.2016 17:09:37
Mike
Hi Thorsten,
das funktioniert 1A - vielen vielen Dank für die Hilfe und die Erklärungen !
Ich bin bei VBA noch ganz am Anfang und da ist sowas echt super, damit man die Zusammenhänge versteht.
VG und einen schönen Abend,
Mike
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige