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"