Ich habe ein anliegen zum Thema Liest View und zwar suche ich eine Brauchbare Seite zum Nachlesen und informieren. Und Zwar möchte ich in meiner Liest View die Zell- oder auch Schrift Farbe an Hand einer Bedingung Färben sobald ich doppelte Angaben in der Ersten oder zweiten Spalte habe.
Ich würde mich freuen wen einer ein gut Internetseite kennt
Textfarben bekommst Du pro Objekt nur eine. Deine Frage zielt doch darauf, nur die entsprechenden Zeilen zu färben und nicht den kompletten LV? In Zellen kannst Du Texten mehrere Farben zuordnen.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28 • k-siebke
Du hast doch schon viele Links bekommen. Allein aus der Videoreihe wäre dein Wunsch mit etwas VBA Kenntnisse her leitbar. Und eine Seite die genau auf dein Problem zugeschnitten ist wird es nicht immer geben. Lesen, Kombinieren, Probieren und Lernen. Und ja das dauert auch mal.
Gruß Elex
Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:1 Nutzer sagt Danke an Elex für diesen Beitrag 28 • k-siebke
Um an die korrekte Schreibweise zu kommen, schreibe den Namen der Listview - setzte einen Punkt. Wähle was du benötigst, aus den Vorgaben aus - setzte wieder einen Punkt .... Da kann man, falls die Vokabel unklar ist, sich recherchierend vortasten, um eine Selbstumsetzung hinzubekommen. So lernt man recht effizient.
05.08.2022, 11:59 (Dieser Beitrag wurde zuletzt bearbeitet: 05.08.2022, 12:08 von k-siebke.)
ich möchte nur Die werte in der 1 und 2 Spalte Farblichhervorheben,wenn Doppelte angaben vorhanden sind .Ich möchte Nichte die ganze Zeile Färben !! Ja hatte von Egon12 eine gute Seite bekommen aber darin kein Ansatz gefunden für die Prozedur um doppelte angaben in einer List view anzuzeigen
05.08.2022, 12:47 (Dieser Beitrag wurde zuletzt bearbeitet: 05.08.2022, 12:49 von Egon12.)
Hallo,
da muss man den Teil nur aus der j Schleife rausnehmen:
dann so:
Code:
Private Sub ListViewLaden() Dim arrTab(), arrList(), i As Long, j As Long If dynTab.DataBodyRange Is Nothing Then ListView1.ListItems.Clear Me.Width = (ListView1.Left * 2) + lvBreite + 27 Me.Height = 337 Exit Sub End If arrTab = dynTab.DataBodyRange.Value ReDim arrList(1 To UBound(arrTab, 1), 1 To UBound(arrTab, 2) + 1) For i = 1 To UBound(arrTab, 1) For j = 2 To UBound(arrTab, 2) + 1 arrList(i, 1) = i arrList(i, j) = arrTab(i, j - 1) arrList(i, SpNrPLZ + 1) = Format(arrTab(i, SpNrPLZ), "00000") Next j arrList(i, 8) = Format(CDate(arrTab(i, 7)), "hh:mm") Next i With ListView1 ListView1.ListItems.Clear .AllowColumnReorder = True .Width = lvBreite + 13 For i = 1 To UBound(arrList, 1) .ListItems.Add , , Format(arrList(i, 1), "00000") For j = 2 To UBound(arrList, 2) .ListItems(.ListItems.Count).SubItems(j - 1) = arrList(i, j) Next j If CDate(arrList(i, 8)) < CDate(Tabelle1.Cells(9, 10)) Then .ListItems(.ListItems.Count).ListSubItems(1).ForeColor = RGB(255, 0, 0) .ListItems(.ListItems.Count).ListSubItems(2).ForeColor = RGB(255, 0, 0) End If If CDate(arrList(i, 8)) > CDate(Tabelle1.Cells(9, 10)) And CDate(arrList(i, 8)) < CDate(Tabelle1.Cells(9, 12)) Then .ListItems(.ListItems.Count).ListSubItems(1).ForeColor = RGB(205, 173, 0) .ListItems(.ListItems.Count).ListSubItems(2).ForeColor = RGB(205, 173, 0) End If If CDate(arrList(i, 8)) > CDate(Tabelle1.Cells(9, 12)) Then .ListItems(.ListItems.Count).ListSubItems(1).ForeColor = RGB(34, 139, 34) .ListItems(.ListItems.Count).ListSubItems(2).ForeColor = RGB(34, 139, 34) End If Next i .ListItems(1).Selected = False .Font = "Arial" .Font.Size = 10 End With Me.Width = (ListView1.Left * 2) + lvBreite + 27 Me.Height = 337 End Sub
Den Link zum VBA Tanker Video habe ich nicht reingesetzt.
Gruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Egon12 für diesen Beitrag:1 Nutzer sagt Danke an Egon12 für diesen Beitrag 28 • k-siebke
da du keine Beispieldatei hochgeladen hast und ich keine Lust habe den Quelltext meiner Beispieldatei umzuschreiben und der Worksheetfunction anzupassen, habe ich nach dem Prinzip des Bubblesort die gefundenen Doppelten in Spalte 9 der arrList als Wert 1 für Treffer und 0 für Unikat auswertbar für die Farbzuweisung der Zeile übergeben. Setze dazu ein Stopmarke (F9 Taste) in ListViewLaden() und schau im Lokalfenster was Step by Step mittels F8 Taste passiert.
ich habe mal die farbliche Kennzeichnung eingebaut. Über die 2-spaltige Combobox kannst du die Spalte per Namen auswählen. Es werden dann Doppelte Werte dieser Spalte über die komplette Zeile umgefäbt. Falls es dich stört, ändere es so, wie ich es im https://www.clever-excel-forum.de/Thread...#pid255004 beschrieben habe.
Du musst wissen, dass Listview nur Textformat kann. Alle anderen erforderlichen Formate musst du der Listview erklären(formatieren). Wenn du jetzt auf- oder abwärts sortierst, kommt es ohne voran gesetzte Nullen zu unsinnigen Zahlenfolgen - deshalb die voran gesetzten Nullen.
Zum Schluss noch ein Wort zu formatierten Tabellen: Vermeide leere Zeilen - es führt zu Fehlern.