For Schleife Durchlaufen

  • Excel

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Mono.

    For Schleife Durchlaufen

    Hallo

    Ich habe eine relative große Tabelle mit vielen Zellen und auch vielen Textboxen.
    Nun würde ich gerne mit schleifen arbeiten, aber bekomme die Zuorndung nicht richtig hin in dem Fall.

    Geht um den kurzen Ausschnitt hier.
    Oben wir die konstanten bestimmt, also die Zuordnung der Fach1_Platz1 usw. (ist nur ein Ausschnitt und nicht fortlaufend,
    daher muss es vorher festgelegt werden.

    Nun soll er die Schleifen von 1-4 durchlaufen und die jeweiligen Zellen in der Excel der Textbox zuordnen.
    Der erste Teil mit der Textbox funktioniert, aber wenn ich hinten die Zelle in die Schleife mit einbinden will, dann streikt er.
    Er soll jeweils die oben deklarierten Fächer durchlaufen, also die letzte Zahl (Fach1_Platz & IntPlatz), aber das nimmt er so nicht.
    Gibt es da einen trick oder wie schreibt man das?
    Vielen Dank

    Visual Basic-Quellcode

    1. Fach1_Platz1 = ZeileRegal
    2. Fach1_Platz2 = ZeileRegal + 1
    3. Fach1_Platz3 = ZeileRegal + 2
    4. Fach1_Platz4 = ZeileRegal + 3
    5. ....
    6. For intPlatz = 1 To 4
    7. Controls("txtMenge1_" & intPlatz).Text = CStr(Sheets(SelectedReihe).Cells("Fach1_Platz" & intPlatz, 3).Value)
    8. ...
    9. Next

    Visual Basic-Quellcode

    1. "Fach1_Platz" & intPlatz


    Was erwartest du denn das da rauskommt?
    Da steht dann folgendes:

    Cells("Fach1_Platz1",3)
    Cells("Fach1_Platz2",3) usw

    Das sind Strings. Du möchtest vermutlich Variable Werte aus deinen Variablen von oben. Dafür verwendet man normalerweise Array, Lists, Collections oder Dictionaries.
    Das was du versuchst ist so nicht möglich.

    Du solltest also etwas sowas machen:

    Visual Basic-Quellcode

    1. dim Fach(10) as Integer
    2. Fach(0) = ZeileRegal
    3. Fach(1) = ZeileRegal + 1
    4. Cells(Fach(intPlatz),3).value


    Beachte das normale Arrays feste Größe haben und normalerweise bei index 0 beginnen.
    Das ist meine Signatur und sie wird wunderbar sein!