Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Variable in For Next Schleife hochzählen

Forumthread: Variable in For Next Schleife hochzählen

Variable in For Next Schleife hochzählen
25.04.2007 11:20:44
F
Hallo,
ich möchte in einer For Next Schleife, eine Variable hochzählen.
wert11 = TextBox11.Value
wert21 = TextBox21.Value
wert31 = TextBox31.Value
For t = 1 To menge
Sheets("Messung " & t).Select
Cells(1, 1) = (wert & t & 1) 'das geht natürlich nicht, aber gibt es etwas in diese Richtung?
Next t
mit Hilfe des Forums habe ich auch dieses:
Controls("TextBox" & t).Visible
oder gibt es etwas in diese Richtung:
("TextBox" & t).Value
Mit freundlichen Grüßen
Frank

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variable in For Next Schleife hochzählen
25.04.2007 11:31:00
Rudi
Hallo,
du kannst mit Feldvariablen (Arrays) arbeiten. z.B. Dim wert(1 to 10)

oder gibt es etwas in diese Richtung:
("TextBox" & t).Value


natürlich auch mit 'Controls' davor.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
und noch einmal DANKE an Rudi
25.04.2007 11:42:37
F
Hallo Rudi
Danke für die schnelle Hilfe
Gruß
Frank
;
Anzeige
Anzeige

Infobox / Tutorial

Variable in For Next Schleife hochzählen


Schritt-für-Schritt-Anleitung

Um in einer For Next Schleife eine Variable hochzuzählen, kannst du die folgenden Schritte befolgen:

  1. Definiere deine Variablen. Wenn du mehrere Werte aus TextBoxen erheben möchtest, ist es sinnvoll, ein Array zu verwenden:

    Dim wert(1 To 10) As Variant
  2. Setze in einer Schleife die Werte der TextBoxen in das Array:

    For t = 1 To 10
       wert(t) = Controls("TextBox" & t).Value
    Next t
  3. Um auf die Zellen in den verschiedenen Blättern zuzugreifen, benutze:

    For t = 1 To menge
       Sheets("Messung " & t).Select
       Cells(1, 1) = wert(t)
    Next t

Mit dieser Methode kannst du effektiv Werte aus verschiedenen TextBoxen in einer Schleife verarbeiten.


Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden"
    Lösung: Stelle sicher, dass die TextBoxen korrekt benannt sind (z.B. TextBox1, TextBox2). Wenn du ein Array verwendest, achte darauf, dass die Indizes stimmen.

  • Fehler: "Typenkonflikt"
    Lösung: Vergewissere dich, dass die Werte, die du in das Array speicherst, den richtigen Datentyp haben. Zum Beispiel, wenn die TextBoxen Zahlen enthalten sollen, konvertiere die Werte:

    wert(t) = CInt(Controls("TextBox" & t).Value)

Alternative Methoden

Eine alternative Methode besteht darin, die Werte direkt in die Zellen zu schreiben, ohne ein Array zu verwenden. Du kannst in der For Next Schleife auch direkt auf die TextBoxen zugreifen, wie folgt:

For t = 1 To menge
    Sheets("Messung " & t).Select
    Cells(1, 1) = Controls("TextBox" & t).Value
Next t

Diese Methode ist einfacher, benötigt jedoch, dass du die TextBoxen namentlich genau angibst.


Praktische Beispiele

Hier ist ein praktisches Beispiel für die Verwendung einer For Next Schleife mit TextBoxen in einem UserForm:

Private Sub btnSubmit_Click()
    Dim t As Integer
    Dim menge As Integer
    menge = 10 ' Beispielanzahl

    For t = 1 To menge
        Sheets("Messung " & t).Cells(1, 1).Value = Controls("TextBox" & t).Value
    Next t
End Sub

In diesem Beispiel wird ein Button verwendet, um die eingegebenen Werte in die entsprechenden Blattzellen zu übertragen.


Tipps für Profis

  • Nutze Arrays, um die Leistung zu steigern, besonders wenn du mit großen Datenmengen arbeitest.
  • Achte darauf, die Datenvalidierung vorzunehmen, bevor du die Werte in die Zellen schreibst.
  • Verwende Fehlerbehandlung wie On Error Resume Next, um Laufzeitfehler zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich Werte aus einer ComboBox in die Schleife einfügen?
Ja, du kannst ähnliche Syntax verwenden. Ersetze einfach die TextBox durch die ComboBox:

wert(t) = Controls("ComboBox" & t).Value

2. Wie kann ich die Schleife anpassen, um nur bestimmte TextBoxen zu verwenden?
Du kannst durch eine Bedingung innerhalb der Schleife bestimmen, welche TextBoxen berücksichtigt werden:

If Controls("TextBox" & t).Visible Then
    ' Füge den Code hier ein
End If

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige