ich möchte alle offenen Dateien (Mappen) in einer MSGBOX anzeigen lassen.
Kann man dann eine Mappe auswählen um DIESE dann speichern und schließen kann ?
Gruss
Walter
Sub Schliessen()
Dim Mldg As String
Dim x As Workbook
For Each x In Workbooks
Mldg = MsgBox(" Wollen Sie die Datei: " & x.Name _
& " wirklich schließen.", vbYesNo + vbQuestion, "Abfrage ?", "", 0)
If Mldg = 6 Then
Workbooks(x.Name).Close True
End If
Next
End Sub
Sub test()
Dim wkb As Workbook
For Each wkb In Workbooks
If MsgBox(prompt:=wkb.Name, Buttons:=vbYesNo, Title:="Speichern und schließen von:") = vbYes Then _
wkb.Close True
Next
End Sub
Hallo walter
versuchs mal so:
jede einzeln:
Option Explicit
Sub test()
Dim wkb As Workbook
For Each wkb In Workbooks
MsgBox wkb.Name
Next
End Sub
'Alle in eine:
Sub test1()
Dim welche As String
Dim wkb As Workbook
For Each wkb In Workbooks
welche = welche & wkb.Name & Chr(13)
Next
MsgBox welche
End Sub
ransi
Hallo walter
"Ich wollte eine bestimmte Datei im Makro löschen."
Heisst das du willst die datei aus der Schleife ausklammern?
woher soll excel Workbooks(a.Name) kennen?
versuchs mal so:
Option Explicit
Sub test()
Dim a As Workbook
For Each a In Workbooks
If a.Name <> "Mappe1.xls" Then '"Mappe1.xls" evtl. anpasen
If MsgBox(prompt:=a.Name, Buttons:=vbYesNo, Title:="Speichern und schließen von:") = vbYes Then _
a.Close True'wenn wenn du speichern willst. a.close false wenn du nicht
' 'speichern willst
End If
Next
End Sub
ransi
Sub Waltertest()
Dim wkb As Workbook
Set wkb = "Obst_Gemüse"
MsgBox wkb.Name
'Hier, dann ohne Abfrage löschen
End Sub
hallo walter
habe dich glaube immer noch nicht richtig verstanden:
Sub Waltertest()
Dim nam As String
nam = "Obst_Gemüse.xls"
On Error Resume Next
If Not Workbooks(nam) Is Nothing Then
If Err = 9 Then GoTo fehler
MsgBox Workbooks(nam).Name
'Hier, dann ohne Abfrage löschen
Workbooks(nam).Close true'false
Else:
fehler:
MsgBox nam & " ist nicht geöffnet."
End If
End Sub
Ransi
Sub Waltertest()
Dim nam As String
nam = "Mappe1.xls"
On Error Resume Next
Workbooks(nam).Close
End Sub
Sub Waltertest()
Dim nam As String
nam = "Obst_Gemüse.xls"
On Error Resume Next
Workbooks(nam).Close
End Sub