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

ListView

Forumthread: ListView

ListView
20.02.2009 17:37:00
ralf
Hallo Forum
Ich weiss das es nicht unbedingt das richtige Forum für ListView ist,
aber vielleicht kann mir doch jemand helfen . Habe ListView genommen um die Hintergrundfarben
der Zeilen(LV) unterschiedlich farbig zu gestalten (2 Farben).Mit dem ForeColor klappt es die Schriftfarbe zu
ändern , aber Ich kriege es nicht hin die Hintergrundfarbe zu ändern.Kann mir jemand helfen ?

Private Sub UserForm_Initialize()
Dim x As Long
Dim lngLast As Long
With Worksheets("Tabelle1")
lngLast = Application.Max(2, .Cells(Rows.Count, 2).End(xlUp).Row)
With ListView1
.ListItems.Clear
.ColumnHeaders.Add , , "Vorname", 140
.ColumnHeaders.Add , , "Name", 140
.ColumnHeaders.Add , , "Geburtsd.", 70
.View = 3
For x = 1 To lngLast
.ListItems.Add , , Cells(x + 1, 3)
.ListItems(x).SubItems(1) = Cells(x + 1, 2)
.ListItems(x).SubItems(2) = Cells(x + 1, 7)
Next
End With
End With
End Sub


Gruss
Ralf

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ListView
20.02.2009 20:06:00
Ralf
Hallo Forum
Nochmals zu meiner Frage .Hoffe ich habe keinen auf den Schlips getreten mit meinen
Satz das dies nicht das richtige Forum ist . Bin schon seit zwei Tagen an googlen und habe
hier im Archiv über Listview in einigen Beiträgen gelesen das man unter VB Foren suchen sollte,
weil dies ein VBA Forum ist . Ich hoffe habe keinen gekränkt . Und hoffe immer noch das mir einer helfen
kann.
Gruss
Ralf
Anzeige
AW: ListView
21.02.2009 02:04:00
Nepumuk
Hallo Ralf,
unter VB geht das über die Picture-Eigenschaft in Zusammenspiel mit einer Picturebox. In VBA wäre das sehr umständlich.
Gruß
Nepumuk
AW: ListView
20.02.2009 21:37:00
edie
Hallo Ralf,
bin leiber kein Programmierer, aber versuchs es doch mal mit
den Eigenschaften der ListView dann auch Benutzerdefiniert
und im neuen Fenster "Eigenschaftenseiten" auf den Reiter "Farbe"
und wähle dir deinen Hintergrund aus.
schaue mal vorbei bei: www.vbarchiv.net
Gruße
Anzeige
AW: ListView
21.02.2009 11:03:39
Nepumuk
Hallo Tino,
und jetzt ändere mal die Schriftgröße des Listviews. :-(Ist halt nicht sehr flexibel.)-:
Du musst das Bild übrigens nicht jedes Mal von der Platte laden. Wenn du im Eigenschaftsfenster ganz oben auf "Benutzerdefiniert" klickst kannst du in dem Dialog das Bild dauerhaft an das Listview binden. Das wird dann mit der Mappe gespeichert.
Gruß
Nepumuk
Anzeige
aber es ist machbar. :-)
21.02.2009 11:20:56
Tino
Hallo,
die Schriftgröße wird er ja bestimmt nicht ständig ändern,
er muss es eben einmal an sein Projekt anpassen.
Für die Standarteinstellung passt es ja.
Mit dem einbinden hast Du recht,
aber um es erst mal an seine Bedürfnisse anzupassen, ist es so besser.
Wenn das Projekt abgeschlossen ist, kann er die Grafik immer noch fest einbinden.
Gruß Tino
Anzeige
AW: aber es ist machbar. :-)
22.02.2009 15:25:38
Ralf
Hallo Forum
Euch dreien erstmal Danke für eure Hilfe ,mache es mit dem Hintergrundbild
über Picture funktion . Habe mal bei vb.net reingeschaut , aber bis ich
soweit bin wird es noch dauern.
Gruss
Ralf
;
Anzeige

Infobox / Tutorial

ListView in Excel VBA: So stylst du deine Zeilen


Schritt-für-Schritt-Anleitung

Um die Hintergrundfarben der Zeilen in einem ListView-Element in Excel VBA unterschiedlich zu gestalten, kannst du den folgenden VBA-Code verwenden. Dieser Code wird in einem UserForm verwendet:

Private Sub UserForm_Initialize()
    Dim x As Long
    Dim lngLast As Long
    With Worksheets("Tabelle1")
        lngLast = Application.Max(2, .Cells(Rows.Count, 2).End(xlUp).Row)
        With ListView1
            .ListItems.Clear
            .ColumnHeaders.Add , , "Vorname", 140
            .ColumnHeaders.Add , , "Name", 140
            .ColumnHeaders.Add , , "Geburtsd.", 70
            .View = 3
            For x = 1 To lngLast
                .ListItems.Add , , Cells(x + 1, 3)
                .ListItems(x).SubItems(1) = Cells(x + 1, 2)
                .ListItems(x).SubItems(2) = Cells(x + 1, 7)
                ' Hintergrundfarbe setzen
                If x Mod 2 = 0 Then
                    .ListItems(x).ListSubItems(1).BackColor = RGB(255, 255, 255) ' Weiß
                Else
                    .ListItems(x).ListSubItems(1).BackColor = RGB(220, 220, 220) ' Grau
                End If
            Next
        End With
    End With
End Sub

In diesem Beispiel wird die Hintergrundfarbe der Zeilen abwechselnd auf Weiß und Grau gesetzt.


Häufige Fehler und Lösungen

  1. Fehler: Hintergrundfarbe wird nicht angezeigt.

    • Lösung: Stelle sicher, dass du die richtige Eigenschaft (BackColor) verwendest. Überprüfe auch, ob du die ListView richtig konfiguriert hast.
  2. Fehler: ListView zeigt keine Elemente an.

    • Lösung: Überprüfe, ob die Daten in der angegebenen Tabelle vorhanden sind und ob der lngLast-Wert korrekt berechnet wird.

Alternative Methoden

Wenn du die Hintergrundfarbe der ListView-Elemente nicht direkt in VBA ändern kannst, kannst du dies auch über die Eigenschaften der ListView im Design-Modus machen. Gehe zu den Eigenschaften der ListView und wähle unter "Farbe" eine gewünschte Hintergrundfarbe aus.

Zusätzlich kannst du auch eine PictureBox verwenden, um ein Hintergrundbild für die ListView zu setzen, wie es in einem der Forum-Beiträge vorgeschlagen wurde.


Praktische Beispiele

Hier sind einige praktische Beispiele, die dir helfen können, die Nutzung von ListView in Excel VBA zu verstehen:

  1. Einfache Verwendung von ListView:

    • Erstelle eine UserForm mit einem ListView und füge die obigen VBA-Codeschnipsel hinzu, um die Zeilen farblich zu gestalten.
  2. Daten aus einer Excel-Tabelle anzeigen:

    • Verwende die Daten aus einer Excel-Tabelle und zeige sie im ListView an. Achte darauf, die Farben entsprechend der Daten zu setzen.

Tipps für Profis

  • Nutze die Picture-Eigenschaft der ListView, um Hintergrundbilder zu verwenden. Dies kann visuell ansprechender sein, erfordert jedoch mehr Ressourcen.
  • Experimentiere mit verschiedenen Farbkombinationen, um die Lesbarkeit und Benutzererfahrung zu verbessern.
  • Achte darauf, das Layout der ListView für verschiedene Bildschirmgrößen zu optimieren.

FAQ: Häufige Fragen

1. Wie ändere ich die Schriftgröße in der ListView? Die Schriftgröße kann nicht direkt über die ListView-Eigenschaften geändert werden. Du musst die Schriftgröße der gesamten Anwendung anpassen oder ein benutzerdefiniertes Steuerelement verwenden.

2. Welche Excel-Version wird für die ListView empfohlen? Die oben genannten Codes wurden für Excel 2007 und höher getestet. Stelle sicher, dass du eine kompatible Version verwendest, um alle Funktionen optimal nutzen zu können.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige