Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Drop down menü - Auswahl sperren

Drop down menü - Auswahl sperren
Hansueli
Hallo zusammen
In einem Arbeitsblatt formatiere und schütze ich Zellen, sowie versende das file per email via Makro.
Alle zellen sind geschützt, formeln versteckt.
Funktioniert bis auf meine drop down menüs, diese sind auch im geschützten Arbeitsblat noch aktiv und können gewechselt werden.
Wie kann ich diese sperren, welchen Code kann ich im Makro einbauen?
Vielen Dank.
Gruss Hansueli
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Drop down menü - Auswahl sperren
01.05.2011 21:47:00
Oberschlumpf
Hi
Was meinst du mit Dropdown?
Meinst du die Gültigkeitsliste oder meinst du das Steuerelement Combobox?
Wenn Combobox, dann Combobox1.Enabled = False
Wenn Liste, dann Range("A1").Validation.Delete
Für A1 natürlich die richtige Zelle eintragen.
Hilfts?
Ciao
Thorsten
Anzeige
AW: Drop down menü - Auswahl sperren
01.05.2011 21:51:55
fcs
Hallo Hansueli,
was für Dropdown-Menüs meinst du?
Autofilter, Active-X-Steuerelement, Formular-Steuerelement, Gültigkeitsprüfung ?
Gruß
Franz
AW: Drop down menü - Auswahl sperren
01.05.2011 22:24:56
Hansueli
Ich habe die Auswahl liste mit Combobox (Form Control) erstellt.
Zum schützen habe ich diesen code

ActiveSheet.Protect Password:="XXX", DrawingObjects:=True, Contents:=True, Scenarios:=True

Was muss ich da einfügen, damit das gewählte Kriterium in der Auswahlliste nicht mehr verändert werden kann.
Vielen Dank
Liebe Grüsse Hansueli
Anzeige
AW: Drop down menü - Auswahl sperren
01.05.2011 22:36:50
Oberschlumpf
Hi
In Versionen älter als 2007 schreibt man vor dem Code, den du schon hast.
Sheets(1).Combobox1.Enabled = False
Du musst (1) anpassen, wenn es nicht das erste Tabellenblatt ist.
Wenn der Name der CB nicht Combobox1 heißt, dann auch das anpassen.
Zum wieder Aktivieren der CB mach aus False ein True.
Ob all das auch in Excel 2007 klappt, weiß ich nicht.
Hilfts denn?
Ciao
Thorsten
Anzeige
AW: Drop down menü - Auswahl sperren
01.05.2011 23:15:27
Hansueli
Hallo Thorsten,
das hilft nicht wirklich, genau so habe ich es versucht. Weisst du wo ich im 2007 den Namen der Combo Box sowie die Eigenschaften finde?
dann würde ich eventuell den richtigen Syntax finden.
Nun dies ist was für Morgen
Vielen Dank
Liebe Grüsse Hansueli
AW: Drop down menü - Auswahl sperren
02.05.2011 10:36:15
fcs
Hallo Hansueli,
wenn du die Comboboxen mit einer Zelle verknüpft hast, dann könntest du vor dem Versand der Datei die verknüpfte Zelle schützen. Dann kommt beim Versuch den Wert der Kombobox zu ändern die übliche Meldung zu geschützten Zellen. Eine weiter Option wäre die Elemente unsichtbar zu setzen, macht aber nur Sinn, wenn der gewählte Wert der Comboboxen nicht als Information benötigt wird.
Der Name der Formular-Steuerelemente wird nach Rechte-Maus-Klick auf das Element im Zelladress-Feld angezeigt. Dabei darf das Tabellenblatt aber nicht geschützt sein. Zusätzlich zu den "Deutschen" Namen verwaltet Excel "heimlich" auch noch die automatisch vergebenen Namen in Englisch. Man bemerkt dies, wenn man die Shape-Namen per Makro listet. Erst bei geänderten Objektnamen werden die deutschen Namen angezeigt.
Einige Eigenschaften (aber z.B. nicht die Position) kann man über "Steuerelement formatieren" bearbeiten/anzeigen.
Gruß
Franz
Hier ein paar Beispielmakros:
Sub FormOjekt_Sperren()
'Formular-Combobox - verknüpfte Zelle sperren
Dim wks As Worksheet, oShape As Shape
Set wks = Worksheets("Tabelle2")
With wks
.Unprotect 'ggf. Passwort ergänzen
Set oShape = .Shapes("Dropdown 1")
.Range(oShape.ControlFormat.LinkedCell).Locked = True
.Protect 'ggf. Passwort ergänzen
End With
End Sub
Sub FormOjekt_Entsperren()
'Formular-Combobox  - verknüpfte Zelle entsperren
Dim wks As Worksheet, oShape As Shape
Set wks = Worksheets("Tabelle2")
With wks
.Unprotect 'ggf. Passwort ergänzen
Set oShape = .Shapes("Drop Down 1")
.Range(oShape.ControlFormat.LinkedCell).Locked = False
.Protect 'ggf. Passwort ergänzen
End With
End Sub
Sub Shapes_NamenListen()
'Zeigt in MsgBox nacheinander Name, Position und Anmessungen von Shape-Objekten im aktiven  _
Blatt an
Dim objShape As Shape, lRow As Long, lColumn As Long
lRow = ActiveWindow.ScrollRow
lColumn = ActiveWindow.ScrollColumn
For Each objShape In ActiveSheet.Shapes
With objShape
'Scroll in die linke obere Ecke der TopLeftCell
ActiveWindow.ScrollColumn = .TopLeftCell.Column
ActiveWindow.ScrollRow = .TopLeftCell.Row
If MsgBox("Name Shape :  " & .Name & vbLf _
& "TopLeftCell    :    " & .TopLeftCell.Address & vbLf _
& "Links(Left)      :    " & .Left & vbLf _
& "Top(Oben)      :    " & .Top & vbLf _
& "Breite(Width)  :    " & .Width & vbLf _
& "Höhe(Height) :    " & .Height, _
vbRetryCancel + vbInformation, "Liste der Shape-Namen") _
= vbCancel Then GoTo Ende
End With
Next
ActiveWindow.ScrollColumn = lRow
ActiveWindow.ScrollRow = lColumn
Ende:
Set objShape = Nothing
End Sub

Anzeige
AW: Drop down menü - Auswahl sperren
02.05.2011 11:08:53
Hansueli
Hallo zusammen,
Vielen herzlichen Dank!! Mit eurer Hilfe habe ich die Lösung gefunden.
In der 2007 Version hat es 2 Arten von Comboboxen.
1 x ComboBox Form Controll
1 x als ComboBox ActiveX Controll
Ich habe zuerst die Form Controll Version verwendet, damit lässt sich nicht viel anstellen Eigenshaften sind ?
Nun habe ich alles umgebaut und die Version Active X Controll verwendet. Damit lässt sich die Combox verwenden wie in frühren Versionen, auch ist sperren kein Thema mehr, funktuniert mit üblichem Befehl
"Combobox Enabled = False"
Problem gelöst.. Vielen Dank
Liebe Grüsse Hansueli
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Drop Down Menü in Excel: Auswahl Sperren


Schritt-für-Schritt-Anleitung

Um ein Drop Down Menü in Excel zu sperren, folge diesen Schritten:

  1. Zelle vorbereiten: Stelle sicher, dass du eine ComboBox (Formular-Steuerelement) in deiner Excel-Tabelle hast.

  2. Makro erstellen:

    • Öffne den VBA-Editor mit ALT + F11.
    • Füge ein neues Modul hinzu.
    • Kopiere und füge den folgenden Code ein:
    Sub FormOjekt_Sperren()
       Dim wks As Worksheet, oShape As Shape
       Set wks = Worksheets("Tabelle2") ' Passe den Namen des Arbeitsblattes an
       With wks
           .Unprotect ' ggf. Passwort ergänzen
           Set oShape = .Shapes("Dropdown 1") ' Passe den Namen der ComboBox an
           .Range(oShape.ControlFormat.LinkedCell).Locked = True
           .Protect ' ggf. Passwort ergänzen
       End With
    End Sub
  3. Makro ausführen: Schließe den VBA-Editor und führe das Makro aus, um die Auswahl im Drop Down Menü zu sperren.


Häufige Fehler und Lösungen

  • Fehler: Das Dropdown-Menü bleibt aktiv, obwohl das Arbeitsblatt geschützt ist.

    • Lösung: Stelle sicher, dass du die verknüpfte Zelle mit .Locked = True geschützt hast, bevor du das Blatt schützt.
  • Fehler: ComboBox wird nicht gefunden.

    • Lösung: Überprüfe den Namen der ComboBox im Code und passe ihn an. Du kannst den Namen durch Rechtsklick auf die ComboBox und Auswahl von "Steuerelement formatieren" herausfinden.

Alternative Methoden

Wenn du eine andere Methode zum Sperren der Auswahl in einem Excel Dropdown Menue verwenden möchtest, kannst du die ComboBox als ActiveX-Steuerelement nutzen:

  1. ActiveX-ComboBox hinzufügen: Gehe auf die Registerkarte "Entwicklertools" und füge eine ActiveX-ComboBox hinzu.
  2. Code anpassen: Verwende den folgenden Code, um die ComboBox zu deaktivieren:

    Sheets(1).ComboBox1.Enabled = False ' oder den entsprechenden Namen

Diese Methode ermöglicht mehr Flexibilität bei der Anpassung der Eigenschaften.


Praktische Beispiele

Hier sind einige Beispielmakros, die dir helfen, die Auswahl in deinem Excel Dropdown Menü zu sperren:

Sub FormOjekt_Entsperren()
    Dim wks As Worksheet, oShape As Shape
    Set wks = Worksheets("Tabelle2")
    With wks
        .Unprotect ' ggf. Passwort ergänzen
        Set oShape = .Shapes("Drop Down 1") ' Passe den Namen an
        .Range(oShape.ControlFormat.LinkedCell).Locked = False
        .Protect ' ggf. Passwort ergänzen
    End With
End Sub

Sub Shapes_NamenListen()
    Dim objShape As Shape
    For Each objShape In ActiveSheet.Shapes
        MsgBox "Name: " & objShape.Name
    Next
End Sub

Diese Makros helfen dir, die ComboBoxen zu sperren und die Namen der Shapes aufzulisten.


Tipps für Profis

  • Verknüpfung nutzen: Verknüpfe deine ComboBox mit einer Zelle, sodass der Benutzer keine Werte direkt in die ComboBox eingeben kann.
  • Sichtbarkeit anpassen: Setze die ComboBox unsichtbar, wenn der Wert nicht benötigt wird, um die Benutzeroberfläche sauber zu halten.
  • Versionsspezifische Eigenschaften: Achte darauf, welche Excel-Version du verwendest, da es Unterschiede in den Steuerelementen zwischen den Versionen geben kann.

FAQ: Häufige Fragen

1. Wie kann ich die Werte in meiner Dropdown-Liste ändern?
Um die Werte in einer Excel Dropdown-Auswahlliste zu ändern, gehe zu den Datenüberprüfungseinstellungen. Wähle die Zelle mit dem Dropdown-Menü aus, gehe auf "Daten" > "Datenüberprüfung" und bearbeite die Liste.

2. Kann ich mehrere Dropdown-Menüs in einem Arbeitsblatt haben?
Ja, du kannst mehrere Dropdown-Menüs in einem Arbeitsblatt erstellen. Achte darauf, jedem Menü einen eindeutigen Namen zu geben, um Konflikte zu vermeiden.

3. Funktioniert das Sperren der Auswahl in Excel 2007?
Ja, die oben beschriebenen Methoden funktionieren auch in Excel 2007. Achte darauf, die richtigen Steuerelemente zu verwenden, da es Unterschiede zwischen Formular- und ActiveX-Steuerelementen gibt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige