Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Userform aus ListBox Zeile in Tabelle farbig markieren

Forumthread: Userform aus ListBox Zeile in Tabelle farbig markieren

Userform aus ListBox Zeile in Tabelle farbig markieren
28.04.2024 01:34:12
br0xy
Hallo zusammen,

ich hoffe man kann mir hier mit meinem Problem helfen :)

Und zwar wenn ich die Userform "Reparatur/Sperren" anwähle, wird mir in der Listbox alle Zeilen aufgelistet die in Tabelle1 sind, soweit funktioniert auch alles. Wenn eine Zeile Gesperrt wird, wird die Sperrung in Tabelle2 eingefügt, so ist es auch gewollt. Meine Frage nun: Besteht die Möglichkeit die Zeilen die in Tabelle2 zur Reparatur verschoben wurden in der Tabelle1 noch rot zu markieren?

https://www.herber.de/bbs/user/169108.xlsm
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Userform aus ListBox Zeile in Tabelle farbig markieren
28.04.2024 08:18:43
Alwin Weisangler
Hallo,

das sollte deine Frage beantworten.


Private Sub CommandButtonSperren_Click()
'Erste freie Zeile ausfindig machen
Dim last As Integer, iZeile&
last = Sheets("Reparatur - Gesperrt").Cells(Rows.Count, 1).End(xlUp).Row + 1
If ListBox1.ListIndex = -1 Then Exit Sub
iZeile = ListBox1.ListIndex

Tabelle1.ListObjects(1).DataBodyRange.Rows(iZeile).Interior.Color = vbRed


'Nummer
Sheets("Reparatur - Gesperrt").Cells(last, 1).Value = TextBox1.Value
'.x
Sheets("Reparatur - Gesperrt").Cells(last, 2).Value = TextBox2.Value
'Kategorie
Sheets("Reparatur - Gesperrt").Cells(last, 3).Value = TextBox3.Value
'Herstellerbezeichnung
Sheets("Reparatur - Gesperrt").Cells(last, 4).Value = TextBox4.Value
'Lagerort
Sheets("Reparatur - Gesperrt").Cells(last, 5).Value = TextBox5.Value
'Bemerkung
Sheets("Reparatur - Gesperrt").Cells(last, 6).Value = TextBoxGrundSperrung.Value
'Gesperrt durch
Sheets("Reparatur - Gesperrt").Cells(last, 7).Value = ComboBoxGesperrtdurch.Value

Unload ReparaturSperren
End Sub

Eigentlich kann man es viel simpler haben, als die Krücke über die Textboxen zu benutzen.
Des Weiteren ist der Code nicht für formatierte Tabellen (Listobjects) geschrieben worden, welchen du aus dem Netz gefischt hast.
Ich baue dir das nachher mal so um.

Gruß Uwe
Anzeige
AW: Userform aus ListBox Zeile in Tabelle farbig markieren
28.04.2024 10:06:54
Alwin Weisangler
Hallo,

anbei mal mein Vorschlag wie ich es machen würde.
Dazu habe ich den Code für die Verarbeitung von Listobjects geschrieben.
Die Markierung der gesperrten Werkzeuge ist mit bedingter Formatierung angelegt und reagiert auf "Ja" in der letzten Spalte.
Im Eingabeformular war noch eine Textbox "Artikelnummer". Die fehlende Spalte habe ich in der Tabelle ergänzt.
Teste mal.
https://www.herber.de/bbs/user/169110.xlsm

Gruß Uwe
Anzeige
AW: Userform aus ListBox Zeile in Tabelle farbig markieren
28.04.2024 10:23:35
br0xy
Guten Morgen Uwe,

vielen Dank, so habe ich mir das vorgestellt! Ja habe gestern Stunden hier im Forum verbracht und mir so einige Codes zusammen gefischt :D Aber ein sehr Interessantes Thema das VBA, werde da mal dran bleiben. Dir nochmals vielen Dank und ein schönen Sonntag. LG
AW: Userform aus ListBox Zeile in Tabelle farbig markieren
28.04.2024 10:45:06
br0xy
Hallo Uwe, ich bin's doch nochmal. Leider markiert er mir nicht die richtige Zeile in der Tabelle die in der Listbox angewählt wurde. Könntest du dir es nochmal anschauen?
Anzeige
AW: Userform aus ListBox Zeile in Tabelle farbig markieren
28.04.2024 11:39:02
Alwin Weisangler
Hallo,

ja du hast recht. Ich hatte die Werte der Spalte "Nr" als Index verwendet. Da sind aber Mehrfachvorkommen drin.
Jetzt wird die Zeilennummer mitgegeben, so dass eine eindeutige Zuordnung sichergestellt ist.

ins Modul der Userform ReparaturSperren:


Option Explicit
Private arrSperre()

Private Sub CommandButtonSperren_Click()
If ListBox1.ListIndex = -1 Then Exit Sub
With ListBox1
arrSperre = Array(.List(.ListIndex, 1), .List(.ListIndex, 2), .List(.ListIndex, 3), .List(.ListIndex, 4), .List(.ListIndex, 6), TextBoxGrundSperrung.Value, ComboBoxGesperrtdurch.Value)
End With

Tabelle5.ListObjects(1).ListRows.Add.Range.Resize(1, UBound(arrSperre) + 1) = arrSperre
Tabelle1.ListObjects(1).DataBodyRange.Cells(ListBox1.List(ListBox1.ListIndex, 0), 7) = "Ja"
End Sub

Private Sub UserForm_Initialize()
Dim i&, arrSP(), arr(): arr = Tabelle1.ListObjects(1).DataBodyRange.Value: arrSP = Array(0, 25, 50, 125, 210, 0, 100, 0)
arr = Application.Index(arr, Evaluate("row(1:" & UBound(arr, 1) & ")"), Array(1, 1, 2, 3, 4, 5, 6, 7))
For i = 1 To UBound(arr)
arr(i, 1) = i
Next i
With ListBox1
.List = arr
.ColumnCount = UBound(arrSP) + 1
.ColumnWidths = Join(arrSP, "; ")
End With
ComboBoxGesperrtdurch.List = Array("MA1", "MA2", "MA3")
End Sub


Gruß Uwe

Anzeige
AW: Userform aus ListBox Zeile in Tabelle farbig markieren
28.04.2024 15:17:37
br0xy
Vielen Dank nochmals! Hat alles super geklappt und es sieht jetzt auch sehr ordentlich Codiert aus :)

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige