Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

TextBoxen in Liste/Array schreiben und dann durchlaufen lassen
#1
Hey, erstmal der Code:
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
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  Undecided

(11.04.2023, 16:50)HängtAufSpiel schrieb: Hey, erstmal der Code:
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
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  Undecided
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 TextBox
Antworten Top
#2
Ich mag solche alkoholische hochgeladene Beispieldateien.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#3
Hey,
Dein Beitrag bringt mir nicht unbedingt viel.
Was fehlt dir denn um da durchzublicken?
Antworten Top
#4
Hey,
Ich präzisiere mal meinen Beitrag etwas vlt. hilft das.
Wie im Betreff geschrieben möchte ich eine Liste an Objekten (TextBoxen) durchlaufen lassen um dann auf diese jeweilig durch folgenden Code zuzugreifen
x ist dabei eben diese Liste
Code:
Me.x.Value = flaschenBier * bierpreis + flaschenTea * iceteapreis 'Berechnung des Gesamt Konsums
Me.x.Value = Format(Me.x.Value, "###.0##€") 'In TextBox wird formatierter Betrag mit € geschrieben
Vielen Dank schonmal für die Hilfe
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste