Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Fehler in VBA
#1
Hallo Leute,
ich habe eben bemerkt, das wenn ich eine Zelle sperre, 
das ich diesen VBA Code nicht mehr nutzen kann.

Sub Ein_Aus_blenden_2()
If Columns("c:d").Hidden = True Then
    Columns("c:d").Hidden = False
    Columns("j:j").Hidden = True
Else
    Columns("c:d").Hidden = True
    Columns("j:j").Hidden = False
End If
End Sub


Ich bekomme dann einen VBA for Application 400 Error
Kann mir jemand helfen?
Danke Gruß Phoeni
Antworten Top
#2
Hallo,
du musst dazu Excel erlauben, trotz Blattschutz VBA-Code ausführen zu dürfen. Das macht man beim Öffnen der Datei. Diesen Code in das Arbeitsmappen-Modul:

Code:
Private Sub Workbook_Open()

Dim WS As Worksheet

    For Each WS In Worksheets
        WS.Protect UserInterFaceOnly:=True
    Next
   
End Sub

UserInterFaceOnly:=True ist der Befehl, der das entsprechend zulässt.
Schöne Grüße
Berni
Antworten Top
#3
He, danke. Leider ändert sich dort nichts. Die Fehlermeldung ist die selbe.
Gruß Phoeni
Antworten Top
#4
Hab grad erst gesehen, dass du Fehlercode 400 hast
https://howto.mediadoma.com/de/vba-fehle...s-behoben/

Wenn das nicht hilft, weiß ich auch nicht weiter.
Schöne Grüße
Berni
Antworten Top
#5
ok, funktioniert auch nicht.
Hat jemand denn eine Lösung?
Antworten Top
#6
Hi

wird sehr oft so gemacht. Im Code ent- und wieder sperren.

Sub Ein_Aus_blenden_2()
hier entsp.
If Columns("c:d").Hidden = True Then
    Columns("c:d").Hidden = False
    Columns("j:j").Hidden = True
Else
    Columns("c:d").Hidden = True
    Columns("j:j").Hidden = False
End If
hier sperren
End Sub
Antworten Top
#7
Hallo, 
auch das funktioniert nicht.
Gruß Phoeni
Antworten Top
#8
Dann wird es Zeit für eine Bsp.Datei.
Antworten Top
#9
jep, gute Idee ;)
siehe Anhang


Angehängte Dateien
.xlsm   Mappe1.xlsm (Größe: 14,65 KB / Downloads: 2)
Antworten Top
#10
Hi

Ok. Völlig neu in der Materie oder? 100
Code:
Sub Ein_Aus_blenden_2()
ActiveSheet.Unprotect
If Columns("c:d").Hidden = True Then
    Columns("c:d").Hidden = False
    Columns("j:j").Hidden = True
Else
    Columns("c:d").Hidden = True
    Columns("j:j").Hidden = False
End If
ActiveSheet.Protect
End Sub

https://www.automateexcel.com/de/vba/sch...sblaetter/

Gruß Elex
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste