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

Unterschiedliche Farben in der Listbox

Unterschiedliche Farben in der Listbox
07.03.2006 21:45:47
alex
Hallo Forum,
Kann man/frau die Zeilen oder den Hintergrund der Zeilen in der Listbox unterschiedlich einfaerben?
Ist die Listbox wirklich auf 10 Spalten begrenzt?
Danke
P.S.Die Listbox wird durch Userformeingaben gefuellt(keine Exceltabelle).
Danke

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Unterschiedliche Farben in der Listbox
07.03.2006 21:57:55
Lars
Hi,
1. Nein
2. "Ist die Listbox wirklich auf 10 Spalten begrenzt?" Nein, wenn sie mittels
List oder Column gefüllt wird.
mfg Lars
AW: Unterschiedliche Farben in der Listbox
07.03.2006 22:04:26
alex
Danke
aber zu 2 habe ich eine frage.
Ich fuelle die listbox mit
ListBox30.List(1, 1) = "AHA"
funktiomiert auch ganz gut bis
ListBox30.List(1, 9) = "AHA"
alles weitere
ListBox30.List(1, 10) = "AHA"
ergibt eine Fehlermeldung
AW: Unterschiedliche Farben in der Listbox
07.03.2006 22:13:30
Ramses
Hallo
ein Auszug aus der VBA-Online Hilfe
"...Wenn ColumnCount auf 0 gesetzt wird, werden keine Spalten angezeigt. Wird die Eigenschaft auf -1 gesetzt, dann werden alle verfügbaren Spalten angezeigt. Bei ungebundenen Datenquellen liegt die Obergrenze bei 10 Spalten (0 bis 9)...."
Gruss Rainer
Anzeige
kleiner Wiederspruch bez. Spaltenzahl
07.03.2006 22:35:13
Nepumuk
Hi,
nur bei der AddItem - Metode ist die Anzahl der Spalten auf 10 begrenzt. Nicht beim füllen mit einem Array über die List - Eigenschaft. Beispiel:
Private Sub UserForm_Activate()
    Dim strArray(1 To 50, 1 To 30) As String
    Dim intRow As Integer, intColumn As Integer
    For intColumn = 1 To 30
        For intRow = 1 To 50
            strArray(intRow, intColumn) = CStr(intColumn) & " / " & CStr(intRow)
        Next
    Next
    With ListBox1
        .ColumnCount = 30
        .List = strArray
    End With
End Sub

Gruß
Nepumuk

Anzeige
Jein... ?
07.03.2006 22:51:18
Ramses
Hallo Nepumuk
Ein Array ist aber doch eigentlich ein "gebundenes" Datenfeld das wie eine "RowSource" behandelt wird.
Es reicht auch die Listbox nur damit quasi zu "eröffnen"
Option Explicit

Private Sub CommandButton1_Click()
    Dim strArray(1, 1 To 30) As String
    Dim intRow As Integer, intColumn As Integer
    For intColumn = 1 To 30
        strArray(1, intColumn) = CStr(1) & " / " & CStr(intRow)
    Next
    With ListBox1
        .ColumnCount = 30
        .List = strArray
    End With
    MsgBox "Und nun..."
    With Me.ListBox1
        .AddItem
        .List(.ListCount - 1, 3) = "Geht auch..."
    End With
End Sub

Gruss Rainer
Anzeige
Umweg
07.03.2006 23:27:10
Nepumuk
Hallo Rainer,
wenn du schon mit einem Array anfängst, warum machst du damit nicht weiter. Das ist doch viel schneller als die Box häppchenweiße zu füttern.
Private Sub UserForm_Activate()
    Dim strArray() As String
    Dim intRow As Integer, intColumn As Integer
    For intRow = 1 To 50
        Redim Preserve strArray(1 To 30, 1 To intRow)
        For intColumn = 1 To 30
            strArray(intColumn, intRow) = CStr(intColumn) & " / " & CStr(intRow)
        Next
    Next
    With ListBox1
        .ColumnCount = 30
        .List = WorksheetFunction.Transpose(strArray)
    End With
End Sub

Gruß
Nepumuk

Anzeige
Das sollte nur als Beispiel dienen....
07.03.2006 23:33:24
Ramses
Hallo Nepumuk
... um zu zeigen, dass es danach auch wieder mit "AddItem" geht.
Offensichtlich muss die ListBox nur erstmalig mit einem Array "präpariert" werden, um sie danach Häppchenweise, über die Limite von 10 hinaus, weiterfüttern zu können.
Allerdings ist die Limitierung dann die Grösse des Eröffnungsarrays.
Es kann nicht ein Eintrag hinzugefügt werden, der NACH dem letzten Feld des "Eröffnungs"-Arrays liegt.
Gruss Rainer
nur ein kleines zaghaftes aber
08.03.2006 01:13:26
alex
Erstmal Danke fuer die Tipps,
Aber :-(
Wenn ich die listbox ueber ein Array (z.b 50,30)fuelle aber erst einen eintrag (1. Zeile)gemacht habe wird bereits eine listbox mit ihren max. eintraegen (50,30) angezeigt.
Nicht schoen da ich eine listbox mit liststyleoption verwende und dadurch nach einem eintrag in der listbox bereits die Buttons(schauen aus wie optionbuttons)fuer die anderen 49 zeilen sehe obwohl noch keine eintraege gemacht wurden.
War wohl nix
Anzeige
AW: nur ein kleines zaghaftes aber
08.03.2006 07:26:24
Nepumuk
Hallo Alex,
in meinem zweiten Beispiel wird gezeigt, wie du ein dynamisches Array benutzt.
Gruß
Nepumuk

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige