Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
692to696
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
692to696
692to696
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kompilierungsfehler

Kompilierungsfehler
14.11.2005 08:30:52
Gisela
Hallo und guten morgen,
beim öffnen einer Arbeitsmappe erscheint immer der Fehler "kompilierungsfehler im Modul..."
Kann mir bitte jemand helfen, was ich verändern muß,
hier das Makro:

Sub leeren5()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets("cpo").Select
ActiveSheet.Unprotect ("mix1877")
Dim rng As Range
For Each rng In Range("J6:P206,B6:B206,D6:D206") '''diese Zeile ist als Fehler gelb markiert'''
If Len(Trim(rng)) = 0 Then
rng.ClearContents
End If
Next rng
Application.DisplayAlerts = True
Range("F6").Select
End Sub

Vielen Dank und Grüße
Gisela

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kompilierungsfehler
14.11.2005 08:55:14
Luschi
Hallo Gisela,
bei mir kommt es zu 1 Fehler, wenn das Tabellenblatt, auf das sich rng bezieht, noch geschützt ist. In der Vba-Programmierung sollte man Objekt-Variablen benutzen, um die gemeinten Tabellen und Zellen genau zu benennen. Zudem ist es erforderlich zu Prüfen, ob 1 Tabelle überhaupt noch geschützt ist, bevor man den Unprotect-Befehl aufruft. Mach es so:
Sub leeren5()
Dim ws As Worksheet, rng As Range
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
Set ws = ThisWorkbook.Worksheets("cpo")
'Prüfen ob Blatt geschützt ist
If ws.ProtectContents Then 'wichtig!
ws.Unprotect ("mix1877")
End If
For Each rng In ws.Range("J6:P206,B6:B206,D6:D206") 'ist ok
If Len(Trim(rng)) = 0 Then
rng.ClearContents
End If
Next rng
Application.DisplayAlerts = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
ws.Range("F6").Select
Set rng = Nothing
Set ws = Nothing
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Kompilierungsfehler
14.11.2005 09:22:37
Gisela
Hallo,
es liegt nicht am geschützen TB.
Wenn ich Dein Makro übernehme, erhalte ich jetzt direkt die Excel-Fehlermeldung mit Problembericht etc. und kann garnichts mehr machen.
Vielen Dank und Grüße
Gisela
AW: Kompilierungsfehler
14.11.2005 09:33:58
Luschi
Hallo Gisela,
wenn in den Zellen Fehler-Bezüge stehen, wie z.B. #BEZUG! oder #DIV/0#, dann schreibe die For-Schleife so:
   For Each rng In ws.Range("J6:P206,B6:B206,D6:D206")
If IsError(rng) Then
MsgBox rng.Address
'oder gleich
'rng.ClearContents   ' Formel löschen
Else
If Len(Trim(rng)) = 0 Then
rng.ClearContents
End If
End If
Next rng
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Kompilierungsfehler
14.11.2005 10:13:57
Gisela
Hallo Luschi,
vielen Dank für Deine Hilfe und Grüße
Gisela

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige