Laufzeitfehler: Range fehlgeschlagen

Bild

Betrifft: Laufzeitfehler: Range fehlgeschlagen
von: Thomas
Geschrieben am: 01.03.2005 10:09:32
Hallo Zusammen
Ich erhalte immer einen Laufzeitfehler: Die Methode 'Range' für das Objekt '_Worksheet' ist fehlgeschlagen.
Wenn ich den Code in einem Modul laufen lasse funktionierts!


Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Dim wks1 As Worksheet, wks2 As Worksheet
    
    Set wks1 = Worksheets("Zusammenfassung")
    Set wks2 = Worksheets("Abrechnung")
    'Zellenfarbe entfernen
    wks1.Range("F12:I15,B21,B22:D22,H21:H22,A42,B45:B46").Interior.ColorIndex = xlNone
    'Zellenfarbe setzen
    With wks1.Range("F12:I12,F12:I15,B21,B22:D22,H21:H22,A42,B45:B46").Interior
        .ColorIndex = 36
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
    End With
    Call BlattSchützen
    wks2.Range("C6:C9,C11,C13").Interior.ColorIndex = xlNone
    
    With wks2.Range("C6:C9,C11,C13").Interior
        .ColorIndex = 36
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
    End With
    Call BlattSchützen
End Sub

Danke für Eure Hilfe.
Gruss Thomas
Bild

Betrifft: AW: Laufzeitfehler: Range fehlgeschlagen
von: Hajo_Zi
Geschrieben am: 01.03.2005 10:33:09
Hallo Thomas,
der gepostete Code läuft Fehlerfrei.
Ich kann nicht auf Deinen Rechner schauen. Es würde auch nichts nützen, da ich ja den Dateinamen nicht kenne
Es wäre für mich einfacher wenn Du den Code BlattSchützen postest
.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.



"Wer Rechtschreibfehler findet, darf sie behalten!"
Bild

Betrifft: AW: Laufzeitfehler: Range fehlgeschlagen
von: Thomas
Geschrieben am: 01.03.2005 10:43:44
Hallo Hajo
Dann gib mir dein Rechner!
Bei mir funzt nicht, hat nichts mit dem BlattSchützen zu tun, geht auch nicht wenn ich diesen deaktiviere.
Hab auch probiert, die Tabellenblätter nicht zu schützen, ohne Erfolg.
Code stoppt bei:
'Zellenfarbe entfernen
wks1.Range("F12:I15,B21,B22:D22,H21:H22,A42,B45:B46").Interior.ColorIndex = xlNone
bei mir funzt irgendwie das wks1.Range..... nicht.
Was kann ich sonst noch tun???
Gruss Thomas
Bild

Betrifft: AW: Laufzeitfehler: Range fehlgeschlagen
von: ypsilon
Geschrieben am: 01.03.2005 10:49:35
hi Thomas,
wo steht denn dein code ?
er muss in das klassenmodul "DieseArbeitsmappe"
cu Micha
Bild

Betrifft: AW: Laufzeitfehler: Range fehlgeschlagen
von: Thomas
Geschrieben am: 01.03.2005 10:54:28
Hi Micha
Ja, da ist er auch drin und da funktioniert er auch nicht. Wenn ich aber einen ander Sub mache z.B. Sub VorDruck() und den Code hier laufen lasse gehts :-(
Gruss Thomas
Bild

Betrifft: AW: Laufzeitfehler: Range fehlgeschlagen
von: Hajo_Zi
Geschrieben am: 01.03.2005 10:56:30
Hallo Thomas,
vielleicht Datei hochladen.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Bild

Betrifft: AW: Laufzeitfehler: Range fehlgeschlagen
von: Hajo_Zi
Geschrieben am: 01.03.2005 10:55:37
Hallo Thomas,
hast Du vielleicht Blattschutz eingerichtet?
Über den Rechner kann ich nicht entscheiden.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Bild

Betrifft: AW: Beispielmappe...
von: Thomas
Geschrieben am: 01.03.2005 11:11:12
Hi Hajo
Ja, Blattschutz eingerichtet, aber diesen wird vorher aufgehoben. Geht auch nicht, wenn kein Blattschutz eingerichtet ist.
Hier mal eine Beispielmappe
https://www.herber.de/bbs/user/18972.xls
Danke für Eure Hilfe.
Gruss Thomas
Bild

Betrifft: AW: Beispielmappe...
von: Hajo_Zi
Geschrieben am: 01.03.2005 11:22:12
Hallo Thomas,
1. Der Code sieht anders aus als der im ersten Beitrag!
2. auch dieser Code läuft bei mir Fehlerfrei. Ich habe Extra Tabelle3 gewählt damit nicht eine Tabelle aktiv ist auf der Aktionen gemacht werden. Was ja noch komplizierter ist.
3. Ich sehe keinen Code der den Blattschutz aufhebt. Das Blatt ist zur Zeit auch nicht geschützt.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Bild

Betrifft: AW: Beispielmappe...
von: Thomas
Geschrieben am: 01.03.2005 11:27:04
Hallo Hajo
Ein weinig anders, aber der Code macht das gleiche und funktioniert bei mir nicht!!
Habe Blattschutz und alles was einen Fehler bewirken könnte aufgehoben. Weiss auch keinen Rat mehr.
Dann brauch ich einen neuen Recher......

Danke trotzdem.
Gruss Thoams
Bild

Betrifft: AW: Beispielmappe...
von: Hajo_Zi
Geschrieben am: 01.03.2005 11:32:30
Hallo Thomas,
ich habe es nun auch mit Version 2000 getestet ohne Probleme. In welcher Zeile bleibt der Code stehen?
Ich benutze hier eine jungfäuliche Version von Excel 2000 SP3 nur Analyse VErsion aktiviert.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Bild

Betrifft: AW: Beispielmappe...
von: Thomas
Geschrieben am: 01.03.2005 11:36:30
Hajo,
Der Code bleibt beim ersten wks nach Set bereits stehen,
wks1.Range("F12:I15,B21,B22:D22,H21:H22,A42,B45:B46").Interior.ColorIndex = xlNone
Keine Ahnung warum. Werde es am Mittag zuhause auch noch testen mit xl2003.
Gruss Thomas
Bild

Betrifft: Anmerkung
von: Thomas
Geschrieben am: 01.03.2005 11:33:22
Witzig ist doch nur, das der Code im Modul problemlos läuft nur nicht bei Private Sub Workbook_BeforePrint(Cancel As Boolean) in Diese Arbeitsmappe.
Komisch, komisch
Gruss Thomas
Bild

Betrifft: Überlegungsfehler; geht aber immer noch nicht
von: Thomas
Geschrieben am: 01.03.2005 12:36:07
Hallo zusammen,
Hatte einen kleinen Überlegungsfehler; das Makro soll bei Klick auf Druck zuerst die Zellenmarkierung ausschalten, Drucken, Zellenmarkierung ein.
Habe es abgeändert:
Modul: Diese Arbeitsmappe:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Static wirklichDrucken As Boolean   'Semaphore
    Set wks1 = Worksheets("Zusammenfassung")
    Set wks2 = Worksheets("Abrechnung")
    
    If Not wirklichDrucken Then
        Cancel = True
        wirklichDrucken = True
        'Hier müsste die Entscheidung fallen, was wirklich _
        'getan werden sollte
        'Zellenfarbe entfernen
        Call VorDruck
        ThisWorkbook.PrintOut
        Call NachDruck
    Else
        wirklichDrucken = False
    End If
End Sub

Modul:
Sub VorDruck()
Dim wks1 As Worksheet, wks2 As Worksheet
Set wks1 = Worksheets("Zusammenfassung")
Set wks2 = Worksheets("Abrechnung")
'Zellenfarbe entfernen
wks1.Range("F12:I15,B21,B22:D22,H21:H22,A42,B45:B46").Interior.ColorIndex = xlNone
wks2.Range("C6:C9,C11,C13").Interior.ColorIndex = xlNone
End Sub
Sub NachDruck()
Dim wks1 As Worksheet, wks2 As Worksheet
Set wks1 = Worksheets("Zusammenfassung")
Set wks2 = Worksheets("Abrechnung")
' 'Zellenfarbe setzen
With wks1.Range("F12:I12,F12:I15,B21,B22:D22,H21:H22,A42,B45:B46").Interior
.ColorIndex = 36
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
With wks2.Range("C6:C9,C11,C13").Interior
.ColorIndex = 36
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End Sub
Soweit so gut!
Wenn ich auf das Drucker-Symbol klicke funktioniert alles einwandfrei. Wenn ich auf das Seitenansicht-Symbol klicke, kommt der Fehler bei Modul: VorDruck, hier
wks1.Range("F12:I15,B21,B22:D22,H21:H22,A42,B45:B46").Interior.ColorIndex = xlNone
Das sind wohl die heimlichen Tücken von Excel oder wo ich nicht Durchblicke.

Gruss Thomas
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Groesse eines markierten Bereiches"