Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1052to1056
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
Zeile in Listbox formatieren
26.02.2009 10:58:16
Beni
Hallo Experten
Ich habe eine Frage bezüglich dem Formatieren der ersten Zeile einer Listbox in einem Userform. Mit folgendem Befehl fülle ich die Listbox mit den Exceldaten:
ListBox1.List = Workbooks(frmAkontoImport.boxImport.Value).Worksheets(1).Range("A1:N" & Anzahlzeilen).Value
Wie kann ich nun die erste Zeile der Listbox - da diese Zeile die Überschriften darstellen - z.B. Fett oder grau hinterlegt, darstellen? Geht dies überhaupt? Oder gibt es eine bessere Möglichkeit die Überschriften hervorzuheben? ColumnHeads?
Vielen Dank bereits für euer Feedback!
Es grüsst Beni

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile in Listbox formatieren
26.02.2009 11:20:08
harry
Hallo Beni,
ich würde die Überschrift gar nicht in die Listbox mit übernehmen,
denn dann kann man ja die Überschrift als Wert auswählen,
ist das wirklich gewünscht.
Platziere doch ein Label über Deiner Listbox und schreib die Überschrift da rein
Gruß
harry
AW: Zeile in Listbox formatieren
26.02.2009 11:28:12
Beni
Hallo harry
Vielen Dank für deinen Tipp... nur hat ja jede Spalte ihre Überschrift und die Liste, die ich in die Listbox einfüge hat 14 Spalten. Somit würde die Listbox fast Bildschirmbreit, wenn ich alle auf einen Blick anzeigen lasse. Wenns eben geht, würde ich eine kleinere Form der Listbox bevorzugen, in der man dann eben scrollen muss.
Gruss
Beni
Anzeige
AW: Zeile in Listbox formatieren
26.02.2009 13:14:49
D.Saster
Hallo,
formatieren geht nicht.
Mit ColumnHeads bist du richtig.
Gruß
Dierk
AW: Zeile in Listbox formatieren
26.02.2009 13:26:43
Beni
Hallo Dierk
Vielen Dank für ein Input. Kannst du mir auch konkret helfen? Mein jetziger Code ist:

Private Sub UserForm_Initialize()
Dim AnzahlZeilen As Integer
AnzahlZeilen = Workbooks(frmAkontoImport.boxImport.Value).Worksheets(1).UsedRange.Rows. _
Count
ListBox1.List = Workbooks(frmAkontoImport.boxImport.Value).Worksheets(1).Range("A2:I" &  _
AnzahlZeilen).Value
End Sub


Er liest Daten aus einer Tabelle und gibt sie in der Listbox wieder. Wie kann ich denn die Überschriften der ersten Zeile als ColumnHeads verwenden?
Vielen Dank schonmal!
Gruss
Beni

Anzeige
AW: Zeile in Listbox formatieren
26.02.2009 15:49:50
D.Saster
Hallo,

Private Sub UserForm_Initialize()
Dim AnzahlZeilen As Integer
AnzahlZeilen = Workbooks(frmAkontoImport.boxImport.Value).Worksheets(1).UsedRange.Rows. _
Count
ListBox1.List = Workbooks(frmAkontoImport.boxImport.Value).Worksheets(1).Range("A2:I" &  _
AnzahlZeilen).Value
Listbox1.ColumnHeads=True
End Sub


Gruß
Dierk

AW: Zeile in Listbox formatieren
26.02.2009 16:08:30
Beni
Hi Dierk
Merci Dierk, aber der Befehl fügt nur die Heads ein, befüllt diese aber nicht. Kannst du mir noch mitteilen, wie ich diese ColumnsHeads befüllen kann? Hab irgendwie gelesen mit dem Befehl RowSource, aber ich krieg nur die Spaltenbeschriftung rein, nicht aber die Daten aus Zeile eins...
Vielen Dank bereits!
Gruss
Beni
Anzeige
AW: Zeile in Listbox formatieren
26.02.2009 16:26:51
Renee
Hi Beni,
Vielleicht so:

Private Sub UserForm_Initialize()
Dim AnzahlZeilen As Long
AnzahlZeilen = Workbooks(frmAkontoImport.boxImport.Value).Worksheets(1) _
.UsedRange.Rows.Count
ListBox1.ColumnHeads = True
ListBox1.RowSource = Workbooks(frmAkontoImport.boxImport.Value).Worksheets(1) _
.Worksheets(1).Range("A2:B" & AnzahlZeilen).Address
End Sub


GreetZ Renée
AW: Zeile in Listbox formatieren
26.02.2009 16:42:00
Beni
Hi Renée
Merci, aber leider folgt dann die Fehlermeldung:
"Objekt unterstützt diese Eigenschaft oder Methode nicht"
Was muss ich noch anpassen, damit es klappt?
Gruss
Beni
Anzeige
k.A. ich sehe Deine Objekte nicht ! (owT)
26.02.2009 16:54:40
Renee

vielleicht geht es so?
26.02.2009 19:51:37
Tino
Hallo,
wenn ich mir Deine Frage durchlese, komme ich auf solch einen Code.
Teste mal.
Private Sub UserForm_Initialize()
 Dim rBereich As Range
 Dim Dateiname$, TabellenName$, ZellAdresse$
 Dim sFormel As String

Dateiname$ = frmAkontoImport.boxImport.Value

With Workbooks(Dateiname$)
 TabellenName$ = .Worksheets(1).Name
 Set rBereich = .Worksheets(1).UsedRange
 Set rBereich = Range("A2:N" & rBereich.Cells(rBereich.Cells.Count).Row)
 ZellAdresse$ = rBereich.Address
End With
 
sFormel = "[" & Dateiname & "]" & TabellenName & "!" & ZellAdresse
 
 With ListBox1
  .ColumnCount = rBereich.Columns.Count
  .ColumnHeads = True
  .RowSource = sFormel
 End With

Set rBereich = Nothing
End Sub


Gruß Tino

Anzeige
AW: vielleicht geht es so?
27.02.2009 08:38:52
Beni
Hi Tino
Vielen Dank für dein Code! Hab ihn soeben getestet, nur leider wird beim befüllen der RowSource erneut nur eine Fehlermeldung produziert:
"Eigenschaft RowSource konnte nicht gesetzt werden. Ungültiger Eigenschaftswert."
Wie weiter...?
Gruss
Beni
AW: vielleicht geht es so?
27.02.2009 09:21:40
Tino
Hallo,
irgendwas stimmt bei Dir nicht.
Baue mal den Code unten ein,
Du bekommst eine Message Box mit einem Text der in etwa so aussehen muss.
[DateiName.xls]Tabelle1!$A$2:$N$29
Sieht der bei Dir anders aus?
Stimmt der Inhalt?
Ist der Dateiname richtig, auch die Extension (.xls oder .xlsm usw...)?
Ist der Tabellenname richtig?
Ist die Zelladresse richtig?
Private Sub UserForm_Initialize()
 Dim rBereich As Range
 Dim Dateiname$, TabellenName$, ZellAdresse$
 Dim sFormel As String

Dateiname$ = frmAkontoImport.boxImport.Value

With Workbooks(Dateiname$)
 TabellenName$ = .Worksheets(1).Name
 Set rBereich = .Worksheets(1).UsedRange
 Set rBereich = Range("A2:N" & rBereich.Cells(rBereich.Cells.Count).Row)
 ZellAdresse$ = rBereich.Address
End With
 
sFormel = "[" & Dateiname & "]" & TabellenName & "!" & ZellAdresse

MsgBox sFormel 'Test Message 
 
 With ListBox1
  .ColumnCount = rBereich.Columns.Count
  .ColumnHeads = True
  .RowSource = sFormel
 End With

Set rBereich = Nothing
End Sub


Sonst kann ich nicht weiter helfen oder ich komme bei Dir mal kurz vorbei. ;-)
Gruß Tino

Anzeige
AW: vielleicht geht es so?
27.02.2009 10:05:01
Beni
Hallo
Jup, die Meldung in der Messagebox lautet:
"[Testliste Akontozahlungen.xls]Tabelle1!$A$2:$N$36"
Scheinbar kann dieser Bereich nicht in die Listbox eingefügt werden... hmmm... kann es sein, dass ein Eigenschaftswert der Listbox falsch ist? BoundColumn = 0; ColumnCount = -1 ?
Ich erklär vielleicht am besten mal die Ausgangssituation: Ich habe eine Excel-Anwendung gebastelt, in der täglich Daten von anderen Exceltabellen importiert werden. Ich starte per Knopfdruck auf der Anwendung ein Import. Dabei wird eben diese Listbox als Import-Vorschau angezeigt. Diese enthält nun eben die Daten, die von der anderen Exceltabelle stammen. In dieser Liste sind in der obersten Zeile immer die Überschriften jeder Spalte, die in der Listebox eben als ColumnHeads abgebildet werden sollen.
Aber eben, das Problem ist eigentlich nur, dass die Überschriften nicht in die ColumnHeads wollen... :(
NB: Vorbeikommen wäre wohl die beste Lösung, aber vielleicht nicht gerade ökonomisch sinnvoll... ;)
Vielen Dank! Gruss
Beni
Anzeige
AW: vielleicht geht es so?
27.02.2009 10:12:47
Tino
Hallo,
es liegt an den Leerzeichen im Dateinamen.
Ersetze die Zeile

sFormel = "[" & Dateiname & "]" & TabellenName & "!" & ZellAdresse


durch diese


sFormel = "'[" & Dateiname & "]" & TabellenName & "'!" & ZellAdresse


Gruß Tino

AW: vielleicht geht es so?
27.02.2009 10:16:48
Beni
Yes! Hey, vielen Dank Tino!
Es klappt ja wunderbar... so ein Ärger nur wegen dem Dateinamen!
machs gut
Gruss
Beni
supen, bis zum nächten mal oT.
27.02.2009 10:25:28
Tino

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige