Discussion:
Laufzeitfehler '1004'
(zu alt für eine Antwort)
Tommy
2004-12-08 03:39:04 UTC
Permalink
Hallo NG,
ich habe eine Tabelle mit einem VBA-Programm, das soweit auch super
funktioniert. Nun will ich allerdings die Tabelle schützen. Wenn der
Blattschutz aktiv ist, kann ich das VBA nicht mehr abrufen. Es kommt die
Fehlermeldung:
Laufzeitfehler '1004'
Die Hidden-Eigenschaft des Range-Objektes kann nicht festgelegt werden.

Wer kann mir helfen?

Liebe Grüße, Tommy
Herbert Taferner
2004-12-08 07:15:03 UTC
Permalink
Hallo Tommy,
Post by Tommy
ich habe eine Tabelle mit einem VBA-Programm, das soweit auch super
funktioniert. Nun will ich allerdings die Tabelle schützen. Wenn der
Blattschutz aktiv ist, kann ich das VBA nicht mehr abrufen. Es kommt die
Laufzeitfehler '1004'
Die Hidden-Eigenschaft des Range-Objektes kann nicht festgelegt werden.
Wer kann mir helfen?
das ist so,
da mußt du entweder das Blatt per VBA schützen und den
Parameter UserInterfaceOnly = True anfügen dadurch
laufen die Makros und sind nur Maus und Tastaturbefehle gesperrrt

z. B. bei Tabelle1 sonst Name und Passwort anpassen

' Code in die Tabelle
'-----------------------------------------
Sub Schutzein()
Application.ScreenUpdating = False

Worksheets("Tabelle1").Protect Password:="dasda", _
UserInterFaceOnly:=True

Application.ScreenUpdating = True

End Sub

'-----------------------------------------
Sub Schutzaus()
Application.ScreenUpdating = False

Worksheets("Tabelle1").UnProtect Password:="dasda", _
UserInterFaceOnly:=True

Application.ScreenUpdating = True

End Sub
'-----------------------------------------

oder jedesmal den Schutz aufheben und nach dem
ein/ausblenden wieder schützen z. B. so

'-----------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub

Worksheets("Tabelle1").UnProtect Password:="dasda"

Application.DisplayAlerts = False
Columns("B:K").Hidden = False
If Range("A1").Value = "J" Then _
Columns("B:F").Hidden = True
If Range("A1").Value = "N" Then _
Columns("G:K").Hidden = True
Application.DisplayAlerts = True

Worksheets("Tabelle1").Protect Password:="dasda"
End Sub
'----------------------

mfg Herbert
Herbert Taferner
2004-12-08 07:21:47 UTC
Permalink
Hallo Tommy,

das kommt vom Copy&Paste
bei Schutz aufheben brauchst du den Parameter nicht

'-------------------------
Sub Schutzaus()
Application.ScreenUpdating = False

Worksheets("Tabelle1").Unprotect Password:="dasda"

Application.ScreenUpdating = True

End Sub

'-------------------------

mfg Herbert
Frank Kabel
2004-12-08 07:16:56 UTC
Permalink
Hi
innerhalb Deines Makros musst Du dann am Anfang den Schutz aufheben und
am Ende wieder einschalten. z.B.:

sub Dein_Makro()
activesheet.unprotect password:="Dein password"
'code
activesheet.protect password:="Dein password"
end sub

--
Regards
Frank Kabel
Frankfurt, Germany
Post by Tommy
Hallo NG,
ich habe eine Tabelle mit einem VBA-Programm, das soweit auch super
funktioniert. Nun will ich allerdings die Tabelle schützen. Wenn der
Blattschutz aktiv ist, kann ich das VBA nicht mehr abrufen. Es kommt die
Laufzeitfehler '1004'
Die Hidden-Eigenschaft des Range-Objektes kann nicht festgelegt werden.
Wer kann mir helfen?
Liebe Grüße, Tommy
Tommy
2004-12-08 12:39:03 UTC
Permalink
Super, das hat prima geklappt!
Vielen Dank euch beiden :)
Tommy
Post by Frank Kabel
Hi
innerhalb Deines Makros musst Du dann am Anfang den Schutz aufheben und
sub Dein_Makro()
activesheet.unprotect password:="Dein password"
'code
activesheet.protect password:="Dein password"
end sub
--
Regards
Frank Kabel
Frankfurt, Germany
Post by Tommy
Hallo NG,
ich habe eine Tabelle mit einem VBA-Programm, das soweit auch super
funktioniert. Nun will ich allerdings die Tabelle schützen. Wenn der
Blattschutz aktiv ist, kann ich das VBA nicht mehr abrufen. Es kommt
die
Post by Tommy
Laufzeitfehler '1004'
Die Hidden-Eigenschaft des Range-Objektes kann nicht festgelegt
werden.
Post by Tommy
Wer kann mir helfen?
Liebe Grüße, Tommy
Lesen Sie weiter auf narkive:
Loading...