Excel: Dropdownliste die auch " " erlaubt

Dieses Thema Excel: Dropdownliste die auch " " erlaubt im Forum "Windows XP Forum" wurde erstellt von estoep, 3. Mai 2006.

Thema: Excel: Dropdownliste die auch " " erlaubt Hi zusammen, ich habe per Macro eine Dropdownliste gebaut, die funktioniert auch prima. Mein Problem, wie schaffe...

  1. Hi zusammen,

    ich habe per Macro eine Dropdownliste gebaut, die funktioniert auch prima.
    Mein Problem, wie schaffe ich es, dass auch ein Leerzeichen (d.h. ) als gültige Auswahl akzeptiert wird? Damit auch nach Einträgen gesucht werden kann, in denen nichts steht.

    Wie folgt funktionierts leider nicht.
    -------------------------------------------------------------
    With Selection.Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
    xlBetween, Formula1:=aaa; CCCC;xx;
    .IgnoreBlank = True
    .InCellDropdown = True
    .InputTitle = Auswahl
    .ErrorTitle =
    .InputMessage = Auswahl .
    .ErrorMessage =
    .ShowInput = True
    .ShowError = True
    End With

    -------------------------------------------------------------

    Danke!
     
  2. ???

    Das wäre ja prima, wenn das funktionieren würde ...
    aber eagl ob ich
    .IgnoreBlank = True oder .IgnoreBlank = False
    vorgebe,

    ich erhalte bei Eingabe eines Leerzeichens (z.B. um vorherige Eingabe zu löschen) im Eingabefeld des Dropdownfeldes der immer die Fehlermeldung:

    Der eingegebene Wert ist ungültig. Der Benutzer hat die Werte begrenzt ...


    Vielleicht liegt's ja auch an der Vorgabe der Gültigkeitswerte?
    Soll heißen:
    wie bekomme ich einen Eintrag mit einer Leerzeile in die Auswahlliste?
    StrAuswahl erzeuge ich dynamisch aus einer Liste.

    strAuswahl = ;aaaa;bbbb;cccc;

    With Selection.Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
    xlBetween, Formula1:=strAuswahl
    .IgnoreBlank = True
    .InCellDropdown = True
    .InputTitle = Auswahl
    .ErrorTitle =
    .InputMessage = Auswahl
    .ErrorMessage =
    .ShowInput = True
    .ShowError = True
    End With

    Hat da vielleicht jemand eine Idee?
     
  3. Hallo estoep,

    die Liste direkt einzugeben ist bei Gültigkeit eine verkürzte Form der Listenangabe.

    Wenn du in hier 4 Zellen deine Werte vorher setzt, geht alles wie von selbst.
    Also z.B.
    A11 aaaa eingeben
    A12 bbbb eingeben
    A13 cccc eingeben
    A14 Leerzeichen

    Bei Angabe der Gültigkeit klickst du dann auf das Symbol Bereichsangabe und markierst die 4 Zellen. Dann erscheint =$A$11:$A$14.

    Noch flexibler ist es, dem Bereich mit den gültigen Werten einen Namen zu verpassen, z.B. MeinGueltigkeitsbereich. Dazu die 4 Zellen markieren, Einfügen->Namen->Festlegen->MeinGueltigkeitsbereich eingeben.
    Dann kannst Du in der Gültigkeit =MeinGueltigkeitsbereich eingeben.
    Wenn du einen Gültigkeitswert hinzufügst und den Bereich wieder markierst und denselben Namen vergibst, funktionieren alle Güligkeiten auch mit dem neuen Wert. Weiterhin kann der Bereich auf einem anderen Tabellenblatt liegen, wenn du mit Namen arbeitest.

    Als Makro hab ich dir das auch nochmal zusammengestellt.
    Der Bereich der Liste ist so anzupassen, dass er keine anderen Zellen trifft.

    Gruß Matjes :)
    Code:
    Sub Test_ValidationMitLeerzeichenSetzen()
    
      Const myGUELTIGKEITSBEREICH_NAME = MeinGueltigkeitsbereich
    
      Dim ws As Worksheet, myName As Name
      Dim b_gefunden As Boolean
      
     ->Güligkeitsfeld erstellen und Namen vergeben, wenn noch nicht erstellt
      For Each myName In ActiveWorkbook.Names
        If myName.Name = myGUELTIGKEITSBEREICH_NAME Then
          b_gefunden = True
          Exit For
        End If
      Next
      If Not b_gefunden Then
       ->Gülitigkeitswerte in Zellen A11 - A14 schreiben
       -><<< HIER ANPASSEN >>>
       ->einen Bereich wählen, der nicht benötigt wird
       ->kann auch auf einem anderen Tabellenblatt liegen
        Set ws = ActiveSheet
        ws.Range(A11).Value = aaa
        ws.Range(A12).Value = bbb
        ws.Range(A13).Value =  -> :-) Leezeichen :-)
        ws.Range(A14).Value = ccc
       ->Namen für den Bereich vergeben
        ActiveWorkbook.Names.Add _
          Name:=myGUELTIGKEITSBEREICH_NAME, _
          RefersTo:=ws.Range(A11:A14)
       -><<< HIER ANPASSEN ENDE >>>
      End If
        
     ->In selektierten Bereich Gültigkeit eintragen
        With Selection.Validation
            .Delete
            .Add _
              Type:=xlValidateList, _
              AlertStyle:=xlValidAlertStop, _
              Operator:=xlBetween, _
              Formula1:== & myGUELTIGKEITSBEREICH_NAME->Bereich angeben
            .IgnoreBlank = False
            .InCellDropdown = True
            .InputTitle = Auswahl 
            .ErrorTitle = 
            .InputMessage = Auswahl 
            .ErrorMessage = 
            .ShowInput = True
            .ShowError = True
        End With
    AUFRAEUMEN:
      Set ws = Nothing: Set myName = Nothing
    End Sub
     
Die Seite wird geladen...

Excel: Dropdownliste die auch " " erlaubt - Ähnliche Themen

Forum Datum
DropDownListe mittels VB im Excel Webentwicklung, Hosting & Programmierung 8. Juli 2005
Excel-Feature gesucht Microsoft Office Suite 11. Okt. 2016
Excel Tabelle Werte zu ordnen Microsoft Office Suite 23. Sep. 2016
Excel: Bereiche auf 'leer' Überprüfen Microsoft Office Suite 15. Sep. 2016
Import Datensatz inkl = und - Zeichen in Excel/Libre CALC Software: Empfehlungen, Gesuche & Problemlösungen 20. Mai 2016