Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1136to1140
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Defaultwert in Listbox

Defaultwert in Listbox
Beni
Hallo
Kann ich einen Standardwert für eine Listbox hinterlegen? Mit folgendem Code befülle ich die Box mit Namen aus der Tabelle. Dabei möchte ich jeweils den aktuellen Benutzer der Liste gleich aktiviert haben:
lboxBearbeiter.Clear
lboxBearbeiter.List = User
lboxBearbeiter.Value = Application.UserName

Da die .Value-Eigenschaft der Listbox nicht klappt, weiss ich leider nicht weiter. Kann mir jemand helfen?
Dankeschön!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Defaultwert in Listbox
18.02.2010 14:36:30
Björn
Hallo,
beschreibe mal genauer...
Bei mir funktioniert das mit .Value.
Kann es sein, dass es den Username gar nicht in der Listbox gibt?
Teste es mal mit einfachen WErten "a,b,c"
und setze dann .Value = "c".
Das funktionert.
Gruß
Björn B.
AW: Defaultwert in Listbox
18.02.2010 14:51:41
Beni
Hey Björn, vielen Dank für dein Feedback.
Also die Prozedur wird beim Öffnen der Tabelle ausgeführt. Damit sollen nur die Daten gefiltert werden, die dem entsprechenden User zugeordnet sind. Dabei soll in der Listbox (Mulitselect) dieser User bereits ausgewählt sein (eben mit Application.Username).
Leider geht es auch mit anderen Werten nicht. Auch ist der besage User in der Liste der Listbox vorhanden (geht auch mit anderen Usernamen nicht). Es wird dabei immer die Fehlermeldung
"Laufzeitfehler '380': Ungültiger Eigenschaftswer"
eingeblendet und die prozedur abgebrochen.
Hier noch mein gesamter Code:
Option Explicit
Private Sub Worksheet_Activate()
'Start Auswertungen
'******************
'Bildschirmupdate
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveWindow.DisplayHeadings = False
'Blattschutz aufheben
Dim Passwort As Variant
Passwort = Worksheets("Benutzerrollen").Range("T13").Value
ActiveSheet.Unprotect Password:=Passwort
'Liste mit allen Tabellenblättern füllen
Dim Liste As Worksheet
cmbListe.Clear
For Each Liste In ThisWorkbook.Sheets
cmbListe.AddItem Liste.Name
Next Liste
cmbListe.Value = ActiveSheet.Name
ActiveSheet.Unprotect Passwort
'Variablen
Dim User As Variant
Dim AnzUser As Byte
Dim AnzJahr As Byte
Dim Jahr As Variant
Dim Monat As Variant
'Werte hinzufügen
AnzUser = Worksheets("Userverwaltung").Range("E8").Value
User = Worksheets("Userverwaltung").Range("D13:D" & AnzUser + 12).Value
AnzJahr = Worksheets("Dateninhalte").Range("Z10").Value
Jahr = Worksheets("Dateninhalte").Range("Z13:Z" & AnzJahr + 12).Value
Monat = Worksheets("Dateninhalte").Range("AA13:AA24").Value
'Listbox befüllen und Standardwerte definieren
lboxBearbeiter.Clear
lboxBearbeiter.List = User
lboxBearbeiter.Value = Application.UserName
lboxJahre.Clear
lboxJahre.List = Jahr
lboxMonate.Clear
lboxMonate.List = Monat
'sensitive Spalten ausblenden
ActiveSheet.Unprotect Password:=Passwort
Range("J:M,Q:T,X:AA,AE:AH,AL:AO,AS:AV,AZ:BC,BG:BJ").Select
Selection.EntireColumn.Hidden = True
'Hilfstexte standardmässig ausblenden
On Error Resume Next
ActiveSheet.Shapes("News13").Visible = False
ActiveSheet.Shapes("News14").Visible = False
ActiveSheet.Shapes("News15").Visible = False
ActiveSheet.Shapes("News16").Visible = False
ActiveSheet.Shapes("News20").Visible = False
ActiveSheet.Shapes("NeuesJahr").Visible = False
ActiveSheet.Shapes("AuswertungEinblenden").Visible = False
'Scrollen
ActiveWindow.SmallScroll Down:=-1000
'Blattschützen
ActiveSheet.Protect Password:=Passwort, AllowFiltering:=True
ActiveSheet.EnableSelection = xlUnlockedCells
End Sub

Anzeige
Value geht nicht bei Multiselect...
18.02.2010 15:13:16
Björn
Hallo Beni,
die Value-Eigenschaft kannst du nur bei einer Single-select Listbox benutzen.
Dass es sich um eine Multiselect handelt, hast du im ersten Beitrag nicht geschrieben...
Du kannst mit
ListBox1.Selected(0) = True '1.Zeile
ListBox1.Selected(1) = True '2.Zeile
usw
Die einzelnen Einträge markieren....
In Deinem Fall musst du erst ermitteln in welcher Zeile der Username steht.
Gruß
Björn B.
AW: Value geht nicht bei Multiselect...
18.02.2010 15:17:41
Beni
Hallo Björn
Super, das hilft mir weiter. Vielen Dank!
Gruss
Beni
Selektion in eine Listbox passiert...
18.02.2010 15:24:36
Renee
durch die Änderung der .ListIndex Eigenschaft ! Beni,
Du musst also jedes Element der .List vergleichen und dann den .ListIndex entsprechend setzen.
Anscheinend immer noch an diesem Problem https://www.herber.de/forum/messages/1139266.html
...das aber immer noch auf eine Antwort von Dir wartet!
GreetZ Renée
Anzeige
AW: Selektion in eine Listbox passiert...
18.02.2010 15:41:40
Beni
Danke danke für dein Feedback. Konnte das Problem nun lösen. Kannst nochmals zur gestrigen Frage switchen. Da hab ich das ganze nun gepostet!
ciao

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige