VBA streikt ab mehr als 2 Dateien?

  • Excel

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von EaranMaleasi.

    VBA streikt ab mehr als 2 Dateien?

    Hallo ihr lieben,

    ich möchte gerne per Makro aus bestimmten Tabellen bestimmte Zellen in eine zentrale Datei schreiben lassen. Das alles funktioniert mit dem was ich gebastelt habe auch schon sehr gut, nur leider funktioniert es ab mehr 2 Dateien im Code nicht mehr. :/



    Hat jemand vlt eine Lösung?


    Visual Basic-Quellcode

    1. Sub MWEinzelneDatenAusMehrerenDateienEinlesen()
    2. Dim oTargetBook As Object
    3. Dim oSourceBook As Object
    4. Dim sDatei As String
    5. Application.ScreenUpdating = False
    6. Set oTargetBook = ActiveWorkbook
    7. sDatei = "C:\Users\test\Desktop\Tabellen\Tabelle1.xlsx"
    8. Set oSourceBook = Workbooks.Open(sDatei, False, True) 'nur lesend öffnen
    9. oTargetBook.Sheets("Tabelle1").Range("a1").Value = _
    10. oSourceBook.Sheets("Tabelle1").Cells(13, 2).Value
    11. oTargetBook.Sheets("Tabelle1").Range("b1").Value = _
    12. oSourceBook.Sheets("Tabelle1").Cells(13, 3).Value
    13. oTargetBook.Sheets("Tabelle1").Range("c1").Value = _
    14. oSourceBook.Sheets("Tabelle1").Cells(13, 4).Value
    15. oTargetBook.Sheets("Tabelle1").Range("d1").Value = _
    16. oSourceBook.Sheets("Tabelle1").Cells(13, 5).Value
    17. oSourceBook.Close False 'nicht speichern
    18. 'Datei 2
    19. sDatei = "C:\Users\test\Desktop\Tabellen\Tabelle2.xlsx"
    20. Set oSourceBook = Workbooks.Open(sDatei, False, True) 'nur lesend öffnen
    21. oTargetBook.Sheets("Tabelle1").Range("a2").Value = _
    22. oSourceBook.Sheets("Tabelle1").Cells(13, 2).Value
    23. oTargetBook.Sheets("Tabelle1").Range("b2").Value = _
    24. oSourceBook.Sheets("Tabelle1").Cells(13, 3).Value
    25. oTargetBook.Sheets("Tabelle1").Range("c2").Value = _
    26. oSourceBook.Sheets("Tabelle1").Cells(13, 4).Value
    27. oTargetBook.Sheets("Tabelle1").Range("d2").Value = _
    28. oSourceBook.Sheets("Tabelle1").Cells(13, 5).Value
    29. oSourceBook.Close False 'nicht speichern
    30. 'Datei 3
    31. sDatei = "C:\Users\test\Desktop\Tabellen\Tabelle3.xlsx"
    32. Set oSourceBook = Workbooks.Open(sDatei, False, True) 'nur lesend öffnen
    33. oTargetBook.Sheets("Tabelle1").Range("a3").Value = _
    34. oSourceBook.Sheets("Tabelle1").Cells(13, 2).Value
    35. oTargetBook.Sheets("Tabelle1").Range("b3").Value = _
    36. oSourceBook.Sheets("Tabelle1").Cells(13, 3).Value
    37. oTargetBook.Sheets("Tabelle1").Range("c3").Value = _
    38. oSourceBook.Sheets("Tabelle1").Cells(13, 4).Value
    39. oTargetBook.Sheets("Tabelle1").Range("d3").Value = _
    40. oSourceBook.Sheets("Tabelle1").Cells(13, 5).Value
    41. oSourceBook.Close False 'nicht speichern
    42. Application.ScreenUpdating = True 'Das Bildschirm-Aktualisieren wieder einschalten
    43. MsgBox "Fertig!", vbInformation + vbOKOnly, "HINWEIS!"
    44. Set oTargetBook = Nothing
    45. Set oSourceBook = Nothing
    46. End Sub

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Alexander0505“ ()

    Alexander0505 schrieb:

    Dim oTargetBook As Object
    Dim oSourceBook As Object
    Verwende da WorkBook statt Object.
    Das wird zwar vermutlich an deinem Grundproblem nichts ändern, tut aber in den Augen nicht so weh.

    Alexander0505 schrieb:

    nur leider funktioniert es ab mehr 2 Dateien im Code nicht mehr.
    Kannst du das noch etwas spezifizieren?
    Gibt's eine Fehlermeldung?
    Wenn ja, in welcher Zeile?

    Ist es ein Timing-Problem?
    Wird es besser, wenn du nach dem Close eine Pause machst?
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Willkomen im Forum @Alexander0505,

    und ich muss dich direkt um das nächste bitten, keine Vollzitate, vorallem nicht vom Post direkt über dir.

    Nun aber zu deinem Problem. Wie äußert sich denn dieses

    Alexander0505 schrieb:

    nur leider funktioniert es ab mehr 2 Dateien im Code nicht mehr.
    ?

    Gibt es eine Fehlermeldung? Passiert etwas unvorhergesehenes? Passiert einfach nichts?