Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
984to988
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
984to988
984to988
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Breite einer Combobox beim öffnen definieren

Breite einer Combobox beim öffnen definieren
13.06.2008 15:30:00
Joachim
Hi
ich habe auf einem Tabellenblatt eine Combobox. da werden Daten aus einem anderen Blatt eingelesen.
Soweit so gut.
Wenn ich nun die Combobox anklicke (mit dem Dreieck) und die Combobox öffnet sich, dann kann ich nur einen Teil meiner Einträge sehen, (in der Breite gesehen) weil meine Daten, die ich einlese, breiter sind , ( mehr Zeichen haben) als die Combobox hergibt.
Natürlich könnte ich meine ganze Combobox einfach in die Breite ziehen und grösser machen, sie sollte aber genau in meine Spalte, da wo die drin ist, reinpassen.
Gibt es eine Möglichkeit, das Fenster , wenn die Combobox aufklappt, so breit zu machen, wie der breiteste Eintrag der eingelesen wurde, bezw. in der Combobox steht.
Ich hoffe, ich konnte das einigermassen erklären.
Danke mal für Eure Hilfe
Joachim

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

Betreff
Datum
Anwender
Anzeige
Nicht moeglich!
13.06.2008 16:10:00
Johannes
Hallo Joachim,
es ist leider nicht moeglich, da Controls in Office kein .hwnd (eine eindeutige ID) besitzen und man sie ueber die WinApi nicht ansprechen kann. Wenn sich die Combobox auf einer Userform befinden wuerde, koennte man ueber Tricks vielleicht zum gewuenschtem Ergebnis kommen, aber waere auch von hinten durchs Knie gebohrt. Bei, in Sheets eingebetteten, Controls (OLEObjects("...")) existiert leider ueberhaupt keine dahingehende Moeglichkeit.
Ich lass die Frage aber mal offen - falls noch ein VBA Hexenmeister vorbeikommt ... :-)
Gruesse,
Johannes

AW: Nicht moeglich!
13.06.2008 16:28:46
Reinhard
Hi Joachim,
meinst du das vom Ansatz her so: https://www.herber.de/bbs/user/53046.xls
Datei hat diesen Code in Modul von Tabelle1 (Eine Combobox auf tabelle1):

Option Explicit
Private Sub ComboBox1_Change()
ComboBox1.Width = 50
End Sub
Private Sub ComboBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As  _
Single, ByVal Y As Single)
Merker = ComboBox1.Width
ComboBox1.Width = 200
End Sub


Gruß
Reinhard

Anzeige
AW: Breite einer Combobox beim öffnen definieren
13.06.2008 16:34:12
Tino
Hallo,
man könnte ja eine unsichtbare TextBox nehmen, bei dieser den Auto Size auf True stellen, an diese
den größten Text übergeben (Anzahl Zeichen sollte in der Regel ausreichen) und von dieser den Width Wert übernehmen.
Beim Verlassen der Combo den alten Wert, der zuvor in einer Variablen gespeichert wurde, die alte Größe wieder herstellen.
Naja nicht die feine englische Art, könnte aber Funktionieren habe es aber nicht getestet.
Gruß Tino
www.tinomargit.com

AW: Breite einer Combobox beim öffnen definieren
13.06.2008 18:08:00
Tino
Hallo,
hier mal ein kleines Beispiel, erstellt unter Office2007.
https://www.herber.de/bbs/user/53050.xls
Gruß Tino
www.tinomargit.com

Anzeige
AW: Breite einer Combobox beim öffnen definieren
13.06.2008 18:03:00
Uduuh
Hallo,
die CB hat auch eine Eigenschaft Listwidth. Passe diese an deine Text an.
Gruß aus’m Pott
Udo

Danke für Eure Hilfe, das ist genau das Gesuchte
13.06.2008 19:56:46
Joachim
:-)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige