Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Microsoft Office Excel hat ein Problem festgestell | Herbers Excel-Forum


Betrifft: Microsoft Office Excel hat ein Problem festgestell von: edie
Geschrieben am: 22.01.2010 12:47:13

Hallo zusammen,

habe bei der Recherche folgendes Makro gefunden und angepasst.
Dabei werden alle Tabellen zwischen der dritten und letzten Tabelle gelöscht.

Wenn aber die Tabellen bereits gelöscht sind und man versehentlich
das Makro ausführt kommt es zur Fehlermeldung:

"Microsoft Office Excel hat ein Problem festgestellt und muss beendet werden…."

Habe auch schon mal mit "On Error Resume Next" versucht es hilft aber nicht.

Hier das Makro:

Sub test() 'Tabellen löschen zwischen 3 und Count - 1
Dim wks As Worksheet
Dim l As Long
Dim lTab As Long
Dim TabArray() As Long
Application.ScreenUpdating = False
wks.Activate
On Error Resume Next
lTab = ThisWorkbook.Worksheets.Count - 1
ReDim TabArray(4 To lTab)
On Error Resume Next
For l = 1 To lTab
TabArray(l) = l
Next l
ThisWorkbook.Worksheets(TabArray).Delete
Application.ScreenUpdating = True
End Sub


Hat jemand eine Idee und kann helfen?

Vorab vielen Dank.
Grüße edie

  

Betrifft: AW: Microsoft Office Excel hat ein Problem festgestell von: ingoG
Geschrieben am: 22.01.2010 13:27:54

Hallo edie,

prüf doch einfach am anfang ab ob es 5 oder mehr sheets gibt...

if ThisWorkbook.Worksheets.Count >=5 then
## Code ##
end if

gruß ingo
PS eine Rückmeldung wäre nett...


  

Betrifft: AW: Microsoft Office Excel hat ein Problem festgestell von: Chris
Geschrieben am: 22.01.2010 14:39:44

Probier mal das hier (ungetestet)

Sub test() 
Dim wks As Worksheet
Dim l As Long
Dim lTab As Long
Dim TabArray() As Long
Application.ScreenUpdating = False
On Error GoTo fehler      

Beginn:
wks.Activate
On Error Resume Next
lTab = ThisWorkbook.Worksheets.Count - 1
ReDim TabArray(4 To lTab)
On Error Resume Next
For l = 1 To lTab
TabArray(l) = l
Next l
ThisWorkbook.Worksheets(TabArray).Delete
Application.ScreenUpdating = True

Exit Sub
fehler:
MsgBox "No sheets can be deleted!"
End Sub



  

Betrifft: AW: Microsoft Office Excel hat ein Problem festgestell von: edie
Geschrieben am: 22.01.2010 20:00:42

Hallo ingoG,
Hallo Chris,

danke für die Hilfe, in beiden Fällen funktioniert es leider nach wie vor nicht.
Die besagte Fehlermeldung ist immer noch da.

Werde versuchen nach einem anderen Code Ausschau halten und weiter testen.

Vielen Dank.

Grüße


  

Betrifft: Worksheets.Count <= 4 Then Exit Sub von: edie
Geschrieben am: 22.01.2010 20:23:53

Hallo Ingo,
Hallo Chris,

habe die Lösung und die scheint zu funktionieren:

If ThisWorkbook.Worksheets.Count <= 4 Then Exit Sub

Noch einmal vielen Dank für die Idee.

Grüße edie


Beiträge aus den Excel-Beispielen zum Thema "Microsoft Office Excel hat ein Problem festgestell"