Microsoft Excel

Herbers Excel/VBA-Archiv

Gültigkeitsmakro - Dropdownliste

Betrifft: Gültigkeitsmakro - Dropdownliste von: Beate
Geschrieben am: 09.10.2020 14:27:42

Hallo zusammen,


ich möchte per Makro eine Dropdownliste erstellen, die folgende Werte enthält:

0

5

7

10,7

16

19


Mit der 10,7 gibt es ein Problem.

Zeichne ich das auf, ergibt sich Folgendes: Formula1:="0,5,7,10,7,16,19"

Das ergibt in der Dropdownliste nicht das gewollte. Also habe ich daraus gemacht: Formula1:="0,5,7,10.7,16,19"

Lasse ich das Makro dann laufen, interpretiert er die Auswahl 10.7 als Datum und macht daraus 44022, da die Zelle als Zahl formatiert ist.

Was muss man schreiben, um die gewünschte Auswahl zu erhalten?

PS: Eine Umweglösung mit Namensbereich läuft. Meine Excel Version ist 2019, kann ich aber nicht hier auwählen.


Grüße,

Beate

Betrifft: AW: Gültigkeitsmakro - Dropdownliste
von: onur
Geschrieben am: 09.10.2020 17:06:31

Keine Ahnung, da NUR DU dein Makro kennst.

Betrifft: AW: Gültigkeitsmakro - Dropdownliste
von: Beate
Geschrieben am: 09.10.2020 18:05:39

Hallo Onur,

ich hänge eine Musterdatei an.

https://www.herber.de/bbs/user/140770.xlsm

Grüße,
Beate

Betrifft: AW: Gültigkeitsmakro - Dropdownliste
von: onur
Geschrieben am: 09.10.2020 18:24:34

.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$E$2:$E$7"


Betrifft: AW: Gültigkeitsmakro - Dropdownliste
von: Beate
Geschrieben am: 09.10.2020 18:33:09

Hallo Onur,

danke für deine Mühe. Aber das hatte ich in der Beispieldatei in Spalte C im Makro schon eingebaut. Meine Frage ist, wie kann ich das ohne Bereichsdefinition direkt ins Makro einbauen?

Grüße,
Beate

Betrifft: AW: Gültigkeitsmakro - Dropdownliste
von: onur
Geschrieben am: 09.10.2020 18:38:13

siehe nächster Post von mir.

Betrifft: AW: Gültigkeitsmakro - Dropdownliste
von: onur
Geschrieben am: 09.10.2020 18:32:04

    Dim ar
    ar = Array(0, 5, 7, 10.7, 16, 19)
    With Range("C2").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=Join(ar, ",")
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With


Betrifft: Nichts Neues
von: Beate
Geschrieben am: 09.10.2020 18:41:46

Hallo Onur,

das Ergebnis des erzeugten Dropdowns ist identisch meines Ergebnisses meiner Beispieldatei in Spalte A. So geht es nicht. Trotzdem Danke für deine Mühe.

Grüße,
Beate Schmitz

Betrifft: AW: Gültigkeitsmakro - Dropdownliste
von: Beverly
Geschrieben am: 09.10.2020 18:40:58

Hi Beate,

vielleicht irre ich mich, aber es scheint, dass es bei Dezimalzahlen nicht möglich ist, sie per VBA direkt als Liste zu übergeben, da der Trenner ein Komma "," sein muss, im Deutschen das Dezimalzeichen aber eben auch ein Komma ist. Die englische Dezimalschreibweise mittels Punkt "." wird jedoch nicht umgesetzt und deshalb im Deutschen als Datum interpretiert. Das ist halt die "Logik" von VBA in Verbindung mit landesspezifischen Besonderheiten. Deshalb bleibt wohl nur der Ausweg, sie in Zellen zu schreiben.


GrußformelBeverly's Excel - Inn

Betrifft: AW: Gültigkeitsmakro - Dropdownliste
von: Beate
Geschrieben am: 09.10.2020 18:51:58

Hi Karin,

danke für deine Interpretation, die ja meinen bisherigen Stand bestätigt. Ich hatte gehofft, es gäbe eine mir unbekannte Lösung ::).

Ich hoffe es geht dir gut und hoffe auf ein Wiedersehen in Freiberg, mal schaun wie die Corona-Ampeln bis dahin stehen.

Liebe Grüße,
Beate Schmitz

Betrifft: AW: Gültigkeitsmakro - Dropdownliste
von: Beate
Geschrieben am: 09.10.2020 18:52:00

Hi Karin,

danke für deine Interpretation, die ja meinen bisherigen Stand bestätigt. Ich hatte gehofft, es gäbe eine mir unbekannte Lösung ::).

Ich hoffe es geht dir gut und hoffe auf ein Wiedersehen in Freiberg, mal schaun wie die Corona-Ampeln bis dahin stehen.

Liebe Grüße,
Beate Schmitz

Betrifft: AW: Gültigkeitsmakro - Dropdownliste
von: Beverly
Geschrieben am: 09.10.2020 19:01:34

Hi Beate,

hoffen wir mal, dass nächstes Jahr die Corona-Ampeln auf Grün stehen - bis dann. :)


GrußformelBeverly's Excel - Inn

Betrifft: AW: Gültigkeitsmakro - Dropdownliste
von: Beate Schmitz
Geschrieben am: 09.10.2020 19:29:02

Ich habe festgestellt, es geht auch so richtig, aber dann sieht die Auswahl im Dropdown etwas merkwürdig aus:
Sub Aufgezeichnet()
    With Range("A2").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="0,5,7,107/10,16,19"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
        Range("A2").NumberFormat = "0.0"
End Sub