Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: In einer Datei eine Datei schliessen und löschen

In einer Datei eine Datei schliessen und löschen
12.01.2020 17:34:10
speednetz
Hallo,
Ich brauche mal eure Hilfe
Ich möchte in einem Makro eine Datei schließen, und diese dann löschen.
Es soll vorher geprüft werden ob die Datei offen ist, wenn ja soll sie geschlossen werden.
Mit folgender Zeile wird die Datei geschlossen. Aber läuft so nicht weiter wenn Datei schon geschlossen ist
Workbooks("Kopie.xlsm").Close SaveChanges:=False
Als nächstes soll die geschlossene Datei gelöscht werden, wenn die Datei vorhanden ist. Wenn nicht vorhanden dann soll das Makro weiterlaufen.
Die Datei hat den Namen Kopie.xlsm
Ich habe diesen Code gefunden, der alleine auch läuft und die Datei löscht aber nicht in meinem Makro.
Sub Test()
Dim sDatei As String
sDatei = "C:\Users\speed\Desktop\Rechnungen\Kopie.xlsm"
If Dir(sDatei)  "" Then
Kill sDatei
End If
End Sub
Hier sollte der Pfad mit ThisWorkbook.Path & "\Kopie.xlsm noch geändert werden.
In nachfolgendem Code sollte es dann laufen
Sub Makro1()
' Makro1 Makro
Pfad = ThisWorkbook.Path
Workbooks.Open Pfad & "\Rechnungsprogramm.xlsm"
ActiveSheet.Unprotect
Workbooks("Kopie.xlsm").Close SaveChanges:=False
Range("B41:F57").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=30
Range("C23").Select
Selection.ClearContents
Range("C24").Select
Selection.ClearContents
Range("C25").Select
Selection.ClearContents
Range("C26").Select
Selection.ClearContents
Range("F28").Select
Selection.ClearContents
Range("G28").Select
Selection.ClearContents
Range("C30").Select
Selection.ClearContents
Range("C59").Select
Selection.ClearContents
Range("C67").Select
Selection.ClearContents
Range("C70").Select
Selection.ClearContents
Range("B23").Value = "Anrede:"
Range("B24").Value = "Name:"
Range("B25").Value = "Straße:"
Range("B26").Value = "PLZ-Stadt:"
Range("B30").Value = "mail:"
Range("A59").Value = "Erklärung:"
Range("A67").Value = "Rechn. = Lieferd."
Range("A70").Value = "Zahlbar:"
ActiveSheet.Range("C23").Interior.ColorIndex = 6
ActiveSheet.Range("C24").Interior.ColorIndex = 6
ActiveSheet.Range("C25").Interior.ColorIndex = 6
ActiveSheet.Range("C26").Interior.ColorIndex = 6
ActiveSheet.Range("C30").Interior.ColorIndex = 6
ActiveSheet.Range("F28").Interior.ColorIndex = 6
ActiveSheet.Range("G28").Interior.ColorIndex = 6
ActiveSheet.Range("F30").Interior.ColorIndex = 6
ActiveSheet.Range("G30").Interior.ColorIndex = 6
ActiveSheet.Range("C60").Interior.ColorIndex = 6
ActiveSheet.Range("C60").Interior.ColorIndex = 6
ActiveSheet.Range("F64").Interior.ColorIndex = 6
ActiveSheet.Range("C70").Interior.ColorIndex = 6
Sheets("Rechnungsformular").Range("F64").Value = "19%"
ActiveSheet.Protect
Range("C23").Select
End Sub
Danke schon mal für eure Hilfe
Gruß speednetz
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In einer Datei eine Datei schliessen und löschen
12.01.2020 17:39:55
Hajo_Zi
prüfen ob offen.
Prüfen ob Datei schon offen
Private Sub Workbook_Open()
Dim BoOffen As Boolean
Dim WoDatei As Workbook
For Each WoDatei In Workbooks
If WoDatei.Name = "test.xls" Then
MsgBox "Datei ist schon geöffnet!"
BoOffen = True
Exit For
End If
Next
If BoOffen = False Then
MsgBox "Test wird automatisch geöffnet!"
Workbooks.Open Filename:="C:\Eigene Dateien\Test.xls"
End If
End Sub

Anzeige
AW: In einer Datei eine Datei schliessen und löschen
13.01.2020 11:18:12
speednetz
Hallo Hajo
Danke erst mal für deine Hilfe.
Ich glaube ich habe mein Problem nicht richtig formuliert.
Ich versuche es mal anders zu beschreiben.
Mit der folgenden Zeile kann ich die Datei Kopie.xlsm wenn sie geöffnet ist schließen.
Workbooks("Kopie.xlsm").Close SaveChanges:=False
Dieses läuft auch so lange in meinem Makro wie diese Datei offen ist.
Wenn aber die Datei nicht geöffnet ist, dann bleibt das Makro stehen.
Und er schreibt mir Laufzeitfehler 9
Index außerhalb des gültigen Bereiches
Das Problem:
Das Makro muss auch weiterlaufen, wenn die Datei Kopie. Xlsm geschlossen ist.
Ich habe noch mal ein verkürztes Makro ein gestellt.
Ich hoffe das Ich es ein bisschen verständlicher erklären konnte.
Sub Makro1()
' Makro1 Makro
Pfad = ThisWorkbook.Path
Workbooks.Open Pfad & "\Rechnungsprogramm.xlsm"
ActiveSheet.Unprotect
Workbooks("Kopie.xlsm").Close SaveChanges:=False
Range("B41:F57").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=30
Range("C23").Select
Selection.ClearContents
Range("C24").Select
Selection.ClearContents
Range("C25").Select
Sheets("Rechnungsformular").Range("F64").Value = "19%"
ActiveSheet.Protect
Range("C23").Select
End Sub
Wäre schön, wenn man mir helfen könnte.
Gruß
speednetz
Anzeige
AW: In einer Datei eine Datei schliessen und löschen
13.01.2020 16:53:52
Hajo_Zi
Gut meine Lösung prüfen ob Offen gefällt Dir also nicht.
Viel Erfolg noch.
Gruß Hajo
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige