Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Code - Daten leer schließen
#1
Hallo liebe Comunity,

ich möchte das meine Datei nach dem alle Dateien auseinandergenommen wurden und keine Daten mehr vorhanden sind, die Datei automatisch schließt und mir sagt Datei fertig. Momentan erhalte ich eine Fehlermeldung, logisch, da er ja keine Daten mehr zu Verarbeitung hat. Könnte ihr mir hier helfen?
danke und  BG

Sheets(1).Rows(1).Copy Sheets(2).Cells(1, 1)
For j = 0 To Sheets(1).UsedRange.Rows.Count \ 59999 + 1
Sheets(1).Cells(j * 59999 + 2, 1).Resize(59999, Sheets(1).UsedRange.Columns.Count).Copy Sheets(2).Cells(2, 1)
Sheets(2).Copy
With ActiveWorkbook
.SaveAs "zubeabriten" & Format(j + 1, "00") & ".xls", 56
.Close
End With
Next

    Rows("2:60000").Select
    Selection.Delete Shift:=xlUp

Sheets(1).Rows(1).Copy Sheets(2).Cells(1, 1)
For j = 0 To Sheets(1).UsedRange.Rows.Count \ 59999 + 1
Sheets(1).Cells(j * 59999 + 2, 1).Resize(59999, Sheets(1).UsedRange.Columns.Count).Copy Sheets(3).Cells(2, 1)
Sheets(2).Copy
With ActiveWorkbook
.SaveAs "zubearbeiten" & Format(j + 1, "00") & ".xls", 56
.Close
End With
Next
Antworten Top
#2
Hi,

ungetestet: Platziere die MsgBox zwischen SaveAs und Close.
Antworten Top
#3
Guten Morgen,

probiert funktioniert leider nicht.  Huh

BG
Antworten Top
#4
meine Fehlermeldung kommt immer wenn er keine Daten mehr verarbeiten kann. Also bei 
sheets(1).Cell.....

Ich denke ich muss irgendwo dem Code sagen, dass wenn keine Daten mehr vorhanden sind, beendet die Schleife. Aber wie? Hat keiner eine Idee oder einen Lösungsansatz für mich?


BG
Antworten Top
#5
Hallöchen,

prüfe auf die Fehlerursache... Ist da z.B. j*59999+2 oder j*59999+2+59999 größer als die Anzahl Zeilen?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
Der Code funktioniert ja soweit, nur eben bis zu der Stelle wo er keine Daten mehr findet in der Datei. Huh
Antworten Top
#7
Hallöchen,
Und wie groß ist da z. B. j?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#8
Die Dateien sind meist zwischen 180.000 und 300.000 Datensätze, und müssen weil es eben 97-2003 xls. ist und nur das System das so verarbeiten kann ( hier wird auch keine andere Lösung angedacht) ind Dateien zerlegt werden, die nicht mehr als 60.000 Datenätze haben.
Antworten Top
#9
... Und wie groß ist nun j, wenn der Fehler auftritt?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#10
Guten Morgen,

es ist dann nur noch eine Zelle ( die Überschrift vorhanden.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste