Calc Makro: Auswahlliste Eintrag auswählen

Hallo,

Mein Makro:

Sub Auswahlliste
oDoc = ThisComponent
oSheet = oDoc.getSheets (). getbyName ("Tabelle1")
    oCellRange = oSheet.getCellRangeByName ("B1")
        oValidation = oCellRange.Validation

' Registerkarte "Kriterien"
' Liste
oValidation.Type = com.sun.star.sheet.ValidationType.LIST

sStr1 = """0"""
sStr2 = """Hallo 1"""
sStr3 = """Hallo 2"""

' Angegebenes Beispiel in der Liste (als Zeichen)
oValidation.setFormula1(sStr1 & CHR(13) & sStr2 & CHR(13) & sStr3 )

' xray oValidation

' Liste ausfüllen
oCellRange.Validation = oValidation

End Sub

In einer Listbox kann man den Cursor auf einen Eintrag setzen:
Listbox1.SelectItem("Hallo 1",True)

Bei einer Auswahlliste (Menü Daten → Gültigkeit) gibt es diese Methode
laut XRAY nicht.

Wie muss der Code lauten, damit ich einen Eintrag in der Auswahlliste
der Tabelle auswählen kann?

Viele Grüße

Jürgen

Hallo Jürgen,

wahrscheinlich gar nicht. Schreib den Wert einfach als "String" in die Zelle. Die Validation-Liste ist ja an sich nur zur Überprüfung eines gültigen Eintrags gedacht. Wählst Du im Frontend einenEintrag aus, wird dieser als Zellwert kopiert - Die Aktivierung einer Auswahl wie in einer Listbox ist somit gar nicht nötig.

VG

Thomas

Hallo Thomas,

vielen Dank für die Info.

Die Validation-Liste ist ja an sich nur zur Überprüfung eines gültigen
Eintrags gedacht.

Stimmt. Irgendwie habe ich hier falsch gedacht.

1. Wenn ich einen String eingebe oder den Zellinhalt per [Entf] lösche,
    erhalte ich in Zellen der nachfolgenden Berechnung den Fehler #NV.
    Dies war auch der Grund weshalb ich meine Frage stellte, denn die
    Löschaktion erfolgt durch mein Hauptmakro und zeigte mir #NV.
    Den "Fehler #NV" könnte man in einer erweiterten Formel abfangen.
2. Gebe ich eine 0 in die Zellen ein, dann ist alles OK, weil die 0 in
    jeder der Auswahllisten vorkommt,
    dazu muss ich nur mein Hauptmakro ein wenig anpassen.

Viele Grüße

Jürgen