11.04.2023, 17:50
(Dieser Beitrag wurde zuletzt bearbeitet: 11.04.2023, 17:51 von HängtAufSpiel.)
Hey, erstmal der Code:
Ich möchte erstmal alle Namen in der Liste "namen" durchlaufen. Dann möchte ich anhand dieser Namen etwas in die entsprechende "TextBoxen" was schreiben. Problem ist nur ich kann die TextBox nicht ansprechen indem ich durch ein Array lauf.
Wie geht das richtig ?
Vielen Dank
Code:
Private Sub CommandButton1_Click()
Dim namen, TextBoxen As Variant
Dim findname, findmonat As Range
Dim bier, icetea, iceteapreis, flaschenBier, flaschenTea, rot, gruen, bierrow, tearow, gesamtrow As Integer
Dim bierpreis As Double
TextBoxen = Array(Alexander, Bader, Gluns, Gromak, Hammerbacher, Hinrichs, Jäger, Kärcher, Kümmerle, Lehnau, Lieb, Monturiol, Rebelato, Seiffert, Szöbb, Walter, Zängle, Kauer)
rot = 38
gruen = 35
Worksheets("Bierkasse").Activate
bierpreis = 1.5
iceteapreis = 1
namen = Array("Alexander", "Bader", "Gluns", "Gromak", "Hammerbacher", "Hinrichs", "Jäger", "Kärcher", "Kümmerle", "Lehnau", "Lieb", "Monturiol", "Rebelato", "Seiffert", "Szöbb", "Walter", "Zängle", "Kauer")
For Each Element In namen:
For Each TextBox In TextBoxen:
Set findname = Columns(1).Find(what:=Element, MatchCase:=False) ' Wer soll gesucht werden?
If Cells(findname.Row, bierrow).Value > 0 Or Cells(findname.Row, tearow).Value Then ' hat derjenige überhaupt was getrunken?
flaschenBier = Cells(findname.Row, bierrow)
flaschenTea = Cells(findname.Row, tearow)
Me.TextBoxen.Value = flaschenBier * bierpreis + flaschenTea * iceteapreis 'Berechnung des Gesamt Konsums
Me.TextBoxen.Value = Format(Me.TextBox3.Value, "###.0##€") 'In TextBox wird formatierter Betrag mit € geschrieben
'If Cells(findname.Row, gesamtrow).Interior.ColorIndex = 35 Then 'Hier soll geschaut werden ob bezahlt wurde, d.h ob die Celle grün ist oder rot
'Me.Element.Value = True
'End If
End If
Next
Next
Wie geht das richtig ?
Vielen Dank

(11.04.2023, 17:50)HängtAufSpiel schrieb: Hey, erstmal der Code:Also ich dachte das klappt mithilfe von zwei "For Each" Schleifen aber ich denke er erkennt den Type nicht als Objekt an dementsprechend findet er dadurch nicht die TextBoxIch möchte erstmal alle Namen in der Liste "namen" durchlaufen. Dann möchte ich anhand dieser Namen etwas in die entsprechende "TextBoxen" was schreiben. Problem ist nur ich kann die TextBox nicht ansprechen indem ich durch ein Array lauf.Code:Private Sub CommandButton1_Click()
Dim namen, TextBoxen As Variant
Dim findname, findmonat As Range
Dim bier, icetea, iceteapreis, flaschenBier, flaschenTea, rot, gruen, bierrow, tearow, gesamtrow As Integer
Dim bierpreis As Double
TextBoxen = Array(Alexander, Bader, Gluns, Gromak, Hammerbacher, Hinrichs, Jäger, Kärcher, Kümmerle, Lehnau, Lieb, Monturiol, Rebelato, Seiffert, Szöbb, Walter, Zängle, Kauer)
rot = 38
gruen = 35
Worksheets("Bierkasse").Activate
bierpreis = 1.5
iceteapreis = 1
namen = Array("Alexander", "Bader", "Gluns", "Gromak", "Hammerbacher", "Hinrichs", "Jäger", "Kärcher", "Kümmerle", "Lehnau", "Lieb", "Monturiol", "Rebelato", "Seiffert", "Szöbb", "Walter", "Zängle", "Kauer")
For Each Element In namen:
For Each TextBox In TextBoxen:
Set findname = Columns(1).Find(what:=Element, MatchCase:=False) ' Wer soll gesucht werden?
If Cells(findname.Row, bierrow).Value > 0 Or Cells(findname.Row, tearow).Value Then ' hat derjenige überhaupt was getrunken?
flaschenBier = Cells(findname.Row, bierrow)
flaschenTea = Cells(findname.Row, tearow)
Me.TextBoxen.Value = flaschenBier * bierpreis + flaschenTea * iceteapreis 'Berechnung des Gesamt Konsums
Me.TextBoxen.Value = Format(Me.TextBox3.Value, "###.0##€") 'In TextBox wird formatierter Betrag mit € geschrieben
'If Cells(findname.Row, gesamtrow).Interior.ColorIndex = 35 Then 'Hier soll geschaut werden ob bezahlt wurde, d.h ob die Celle grün ist oder rot
'Me.Element.Value = True
'End If
End If
Next
Next
Wie geht das richtig ?
Vielen Dank