Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1216to1220
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

Listbox Auswahl

Listbox Auswahl
Hans
Hallo Freunde!
Ich kann Excel-VBA schon recht gut, doch bei der ListBox bin ich noch am Anfang. Und über den _
komme ich nicht hinüber.

Sub BuchkatalogStichwort()
ActiveSheet.OLEObjects.Add(ClassType:="Forms.ListBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=400, Top:=150, Width:=192, Height:= _
196.5).Select
ActiveSheet.OLEObjects("ListBox1").Object.BackColor = RGB(221, 242, 255)
With ActiveSheet.OLEObjects("ListBox1").Object
.AddItem "Roman"
.AddItem "Erzählung"
.AddItem "Novellen"
.AddItem "Sagen und Märchen"
.AddItem "Anekdoten"
.AddItem "Gedichte"
.AddItem "Dramen"
End With
End Sub
Jetzt sollte sich der Mauszeiger in einen Pfeil verwandeln und ich einen der Einträge auswählen können. Warum geschieht das nicht?

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
MousePointer
08.06.2011 17:11:07
CitizenX
Hallo,
With ActiveSheet.OLEObjects("ListBox1").Object
.AddItem "Roman"
.AddItem "Erzählung"
.AddItem "Novellen"
.AddItem "Sagen und Märchen"
.AddItem "Anekdoten"
.AddItem "Gedichte"
.AddItem "Dramen"
.MousePointer = 1
End With
Grüße
Steffen
AW: Listbox Auswahl
08.06.2011 17:46:26
Nepumuk
Hallo,
keine Ahnung was sich Microsoft dabei gedacht hat. Aber ich kann das in allen Excelversionen von 2000 - 2010 nachvollziehen. Nach der Prozedur muss ich einmal in den Entwurfsmodus und wieder zurück. Erst dann lässt sich in der Liste etwas anklicken.
Gruß
Nepumuk
AW: Listbox Auswahl
10.06.2011 08:18:29
Hans
Hallo Nepumuk,
danke für die Hilfe. Die auch vorgeschlagene Veränderung des Mauszeigers hat nichts gebracht, doch der Rat mit dem Entwurfsmodus hat gewirkt. Es ist schon erstaunlich - allem Anschein nach ist der Fehler mindestens 12 Jahre alt. Bei Microsoft überrascht einen gar nichts mehr. Leider ist es nicht möglich, per Makro in den Entwurfsmodus zu wechseln. Aber immerhin geht es jetzt.
Danke,
Hans.
Anzeige
Makro Entwurfsmodue aktivieren deaktivieren
10.06.2011 15:21:47
Reinhard
Hallo Hans,
Quelle: http://www.excel-center.de/foren/read.php?2,47709,47778
Klappt bei mir in XL 2000, XL 2010 weiß ich nicht.
Sub Entwurfsmodus()
Dim C As CommandBarControl
Set C = Application.CommandBars(16).FindControl(, 2597) ' nach "Entwirfsmodus beenden" suchen
If C Is Nothing Then
Set C = Application.CommandBars.FindControl(, 1605)
C.Execute
End If
Set C = Nothing
End Sub

Gruß
Reinhard
AW: Makro Entwurfsmodue aktivieren deaktivieren
10.06.2011 15:30:28
Nepumuk
Hallo Reinhard,
jetzt noch per Makro auch wieder raus kommen wäre das Sahnehäubchen. ;-)
Gruß
Nepumuk
Anzeige
AW: Makro Entwurfsmodue aktivieren deaktivieren
10.06.2011 21:31:19
Reinhard
Hallo Nepumuk,
mal weglassend wann der nächste Milchskandal wieder kommt (naja würden sie mal in so Firmen überraschend auftauchen und mal richtig kontollieren wär der schon längst da) ist derzeit nur Sahnehäubchen essen sehr gesund verglichen mit knackigem Sprossensalat :-)
Zum Thema.
Nur eine Idee von mir. Ich könnte sie auch selbst testen aber müßte mir dazu 1-2 stunden erstmal die entsprechenden Codeschnipsel zusammensuchen, du bist da um Faktor 100 schneller allein schon daß du an der Idee siehst ob sie überhaupt klappen kann oder nicht.
Mit der Zusammenmischung mit dem Code vom Anfragesteller und einem Code von der Linkseite von mir kam ich immerhin schon soweit daß die ListBox angezeigt wurde und auch der Mauszeiger war ein Pfeil.
Dummerweise ging irgendwas in der ListBox anklicken überhaupt nicht obwohl der Entwurfsmodus deaktiviert war *rätsel*
Jetzt meine Idee, im Code eine neue Mappe erstellen, dort in ein Modul Code reinschreiben und den aufrufen.
Dieser Code macht dann das in der eigentlichen Mappe was zu tun ist.
Und wenn Entwurfsmodus bedeutet daß keine Makros ausgeführt werden so gilt das doch nur für die Mappe wo Entwurfsmodus aktiv ist, eine zweite Instanz von Excel interessiert das doch nicht, oder?
Gruß
Reinhard
Anzeige
AW: Makro Entwurfsmodue aktivieren deaktivieren
11.06.2011 07:43:18
Nepumuk
Hallo Reinhard,
das wäre eine Möglichkeit. Aber, wie oft wird die Listbox denn erstellt? Ich halte sowieso nichts davon ActiveX-Controls auf Tabellen zur Laufzeit zu erstellen. Da verlierst du die Werte in allen öffentlichen Variablen und alle Klassen werden entladen. Ok, öffentliche Variablen vermeide ich so gut es geht, aber in größeren Projekten sind schon mal 20-50 Klassen implementiert. Die will ich nach so einer Aktion nicht alle neu initialisieren.
Gruß
Nepumuk
AW: Makro Entwurfsmodue aktivieren deaktivieren
11.06.2011 15:39:28
Hans
Heureka! Ich hab's gefunden!
Liebe Freunde, vielleicht denken wir nur einfach zu kompliziert. Für das Aktivieren der Listbox gibt es eine erstaunlich einfache Lösung, auf die ich durch Zufall gestoßen bin. Der Entwurfsmodus ist gar nicht notwendig. Es genügt, in eine andere Tabelle zu wechseln und dann wieder in die ursprüngliche zurückzukehren. Also tatsächlich nur einfach so:
Sheets("Tabelle2").Select
Sheets("Tabelle1").Select

Nur hinten an die Listbox anhängen!
Private Sub ListBox1_Click()
If ActiveSheet.OLEObjects("ListBox1").Object.Value = "Comic" Then
Cells(1, 1).Activate
ActiveCell = "Wirklich komisch"
End If
End Sub
Mit freudigen Grüßen,
Hans.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige