Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1732to1736
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

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

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

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

157 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige