Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Listebox behält format nicht! & Werte bezug

Listebox behält format nicht! & Werte bezug
12.11.2008 09:47:00
adrian
Hallo,
habe zwei kleine Probleme auf dessen Lösung ich noch nicht so ganz gekommen bin.
a) meine Listbox ändert immer ihr Aussehen, wenn ich nach dem öffnen des Excel Sheets auf Sie klicke bzw. aktiviere
Sie ist vom Typ ListBox1_GotFocus()
vll. liegt es ja am Typ, womit ich gleich bei meiner nächsten frage bin.
b) gibt es eine funktionierende alternative zu "GotFocus"?
mit "Initialize" und "Open" bzw. "Activate" mag es nicht so ganz klappen =(
bei diesen Alternativen lädt die Liste nicht gleich beim Öffnen der Mappe die Daten, was ich viel schöner finde wie erst beim anklicken.
Wäre super wenn ich auch eine kleine Erklärung dazu bekommen könnte =)
lg
adrian
hier mal die Liste:
Option Explicit

Private Sub ListBox1_GotFocus()
Dim Cell As Range
Dim tempVar()
Dim zaehler As Integer, i As Integer
zaehler = Worksheets("Philips (A)").Range("SupplierAs").Cells.Count
zaehler = zaehler + Worksheets("Philips (EU)").Range("SupplierEU").Cells.Count
zaehler = zaehler + Worksheets("Philips (US)").Range("SupplierUS").Cells.Count
ReDim tempVar(0 To zaehler, 0)
i = 0
With Me.ListBox1
.Clear
For Each Cell In Worksheets("Philips (A)").Range("SupplierAs")
If Cell  "" Then
If IsNumeric(Application.Match(Cell, tempVar, 0)) = False Then
tempVar(i, 0) = Cell.Value
.AddItem Cell.Value
i = i + 1
End If
End If
Next
For Each Cell In Worksheets("Philips (EU)").Range("SupplierEU")
If Cell  "" Then
If IsNumeric(Application.Match(Cell, tempVar, 0)) = False Then
tempVar(i, 0) = Cell.Value
.AddItem Cell.Value
i = i + 1
End If
End If
Next
For Each Cell In Worksheets("Philips (US)").Range("SupplierUS")
If Cell  "" Then
If IsNumeric(Application.Match(Cell, tempVar, 0)) = False Then
tempVar(i, 0) = Cell.Value
.AddItem Cell.Value
i = i + 1
End If
End If
Next
End With
End Sub


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

Betreff
Datum
Anwender
Anzeige
AW: Listebox behält format nicht! & Werte bezug
12.11.2008 16:10:26
ChrisL
Hallo Adrian
Ich denke ein UserForm_Initialize() Ereignis wäre möglicherweise geeignet. Warum/wie sich das Format ändert kann ich nicht nachvollziehen.
cu
Chris
AW: Listebox behält format nicht! & Werte bezug
13.11.2008 11:39:52
adrian
hi,
danke dir
habe es aber mit _SelectionChange(ByVal Target as Range) gelöst.
gefällt mir so ganz gut =)
weißt du zufällig, wie ich aber das Aussehen dieser frechen, verflixten Liste beibehalten kann?
also, dass sie nicht ihr format ändert, sobald sie durch was auch immer aktiviert wird....
lg
adrian
AW: Listebox behält format nicht! & Werte bezug
13.11.2008 11:55:27
adrian
hallo,
hab es rausgefunden!
das hat vll. gedauert =)
intergral height =! false bei den properties
lg
adrian
Anzeige
AW: Listebox behält format nicht! & Werte bezug
12.11.2008 16:54:29
fcs
Hallo Adrian,
mit einem kleinen Trick kannst du die Liste auch beim Öffnen der Datei oder besser beim Aktivieren des Tabellenblatts mit der Liste aktualisieren.
Dazu wird beim Öffnen der Datei das Blatt mit der Listbox aktiviert und das entsprechende Ereignismakro ausgelöst.
Alternativ kannst du natürlich auch per Button das Fuellen der Listbox manuell starten.
Deine Makros müssen dann wie folgt aussehen.
Gruß
Franz

'Code im Tabellen-Modul:
Option Explicit
Private bolOpen As Boolean 'Wird nach dem 1. Aktualisieren via Worksheet_Activate auf _
True gesetzt um mehrmaliges aktualisieren der Listbox zu verhindern
Private Sub Listbox1_Fuellen()
Dim Cell As Range
Dim tempVar()
Dim zaehler As Integer, i As Integer
zaehler = Worksheets("Philips (A)").Range("SupplierAs").Cells.Count
zaehler = zaehler + Worksheets("Philips (EU)").Range("SupplierEU").Cells.Count
zaehler = zaehler + Worksheets("Philips (US)").Range("SupplierUS").Cells.Count
ReDim tempVar(0 To zaehler, 0)
i = 0
With Me.ListBox1
.Clear
For Each Cell In Worksheets("Philips (A)").Range("SupplierAs")
If Cell  "" Then
If IsNumeric(Application.Match(Cell, tempVar, 0)) = False Then
tempVar(i, 0) = Cell.Value
.AddItem Cell.Value
i = i + 1
End If
End If
Next
For Each Cell In Worksheets("Philips (EU)").Range("SupplierEU")
If Cell  "" Then
If IsNumeric(Application.Match(Cell, tempVar, 0)) = False Then
tempVar(i, 0) = Cell.Value
.AddItem Cell.Value
i = i + 1
End If
End If
Next
For Each Cell In Worksheets("Philips (US)").Range("SupplierUS")
If Cell  "" Then
If IsNumeric(Application.Match(Cell, tempVar, 0)) = False Then
tempVar(i, 0) = Cell.Value
.AddItem Cell.Value
i = i + 1
End If
End If
Next
End With
End Sub
Sub Commandbutton1_Click()
'Listbox1 wird per ButtonKlick gefüllt (Alternative)
Dim varWert
With Me.ListBox1
'ggf. Wert der verbundenen Zelle merken
If .LinkedCell  "" Then
varWert = Me.Range(.LinkedCell).Text
End If
Call Listbox1_Fuellen
'ggf. Wert der verbundenen Zelle wieder eintragen
If .LinkedCell  "" Then
Me.Range(.LinkedCell).Value = varWert
End If
End With
End Sub
Private Sub Worksheet_Activate()
'Listbox1 wird beim erstmaligen Aktivieren des Tabellenblatts gefüllt.
Dim varWert
If bolOpen = False Then
With Me.ListBox1
'ggf. Wert der verbundenen Zelle merken
If .LinkedCell  "" Then
varWert = Me.Range(.LinkedCell).Text
End If
Call Listbox1_Fuellen
'ggf. Wert der verbundenen Zelle wieder eintragen
If .LinkedCell  "" Then
Me.Range(.LinkedCell).Value = varWert
End If
End With
bolOpen = True
End If
End Sub
'Code unter diese Arbeitsmappe:
Option Explicit
Private Sub Workbook_Open()
Dim wks
Set wks = ActiveSheet 'Aktives Blatt merken
Worksheets("Philips (A)").Activate 'Anderes Blatt als das mit Listbox aktivieren
Worksheets("Tabelle1").Activate 'Tabelle mit Listbox, ggf. Tabellenname anpassen
wks.Activate
End Sub


Anzeige
AW: Listebox behält format nicht! & Werte bezug
13.11.2008 11:37:27
adrian
Vielen Dank dir,
habe es einfach so gelöst, das ich es als _SelectionChange(ByVal as Range) deklariere
gefällt mir am besten =)
aber eines macht mich immer noch stutzig....warum ändert diese freche Liste immer ihr Aussehen, sobald sie durch was auch immer aufgerufen wird?
lg
adrian
AW: Listebox behält format nicht! & Werte bezug
13.11.2008 11:56:00
adrian
hallo,
hab es rausgefunden!
das hat vll. gedauert =)
intergral height =! false bei den properties
lg
adrian

301 Forumthreads zu ähnlichen Themen


Hallo Hans,
wenn ich die URLs richtig interpretiere, haben wir im Forum soeben die Zahl von 1 Million Beiträgen überschritten.
Herzlichen Glückwunsch zu dem Erfolg Deines "Babys"!
Gruß
Martin

Hallo Leute,
heute habe ich wieder mal ein einfaches Problem für Euch, an dem ich aber nicht weiter kommen:
Ich möchte die Arbeitsblätter in meiner Arbeitsmappe zählen. Das ist ja kein Problem (ThisWorkbook.sheets.count).
wenn das makro mehr als ein Arbeitsblatt zählt (also das Erge...

Hallo zusammen!
Ich habe da als blutiger Anfänger in VBA zwei Fragen:
1.) Wie kann ich in meiner Tabelle in jeder zweiten Spalte 4 leere Spalten einfügen lassen?
2.) Dann möchte ich unter den Inhalt der ersten fünf Spalten (A-E) den Inhalt der zweiten 5 Spalten (F-J) usw. In der grö...

Guten Morgen!
Ich hätte folgendes Problem: Ich erhalte automatisiert Exceltabellen, bei denen nicht alle Zellen einer Zeile gefüllt werden, wenn dort der Inhalt einer darüberliegenden Zeile stehen sollte. Zur Weiterverarbeitung muss ich aber diese Zellen mit den dazugehörigen Werten füllen....

Hallo,
google spuckt Zu "Excel" und "Häufigkeitslücken" lediglich 3 Treffer aus, die nicht gerade brauchbar für meine Aufgabe sind.
Ich muss für 3 Variablen eine Typisierung mit einer Häufigkeitslücke durchführen.
Hiermit bin ich fast gänzlich überfragt. Mit Quantilen hatte ich das...

Hallo zusammen,
ich habe eine lange Liste, in der in einer Spalte Daten stehen, wo ab und zu vorangehende Nullen nötig sind (mal eine - mal 2...etc.) - und manchmal auch keine.
Wie kann ich diese Zellen formatieren, das die vorangehenden "Nullen" nicht automatisch weggelassen werden?

Links zu Excel-Dialogen

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige