Supportnet / Forum / Tabellenkalkulation
Tabelle gemäß Textboxeingaben füllen
Frage
Hallo liebes Forum!
Ich habe wiedermal eine Aufgabenstellung, bei der ich mit meinen marginalen VBA-kenntnissen bisher nicht weitergekommen bin...
Ich habe 2 Textboxes mit deren Hilfe ein Zahlenbereich angegeben wird.
gemäß "Von: |txtbox1| bis: |txtbox2|"
Die Zahlen in diesem Bereich soll dann (per Button) in eine Tabelle geschrieben werden.
es handelt sich um Zahlen mit einer Nachkommastelle (1,0).
Ein Beispiel:
Von -0.5 bis 1.0 eingegeben,
in der Tabelle stehen dann die Zahlen
-0,5
-0,4
-0,3
...
0,8
0,9
1,0
Mein Problem ist jetzt die Werte der Textboxes in eine Beziehung mit der Tabelle zu bringen...
Ich wäre sehr dankbar für jede Hilfe!
Lg,
Rudi
Antwort 1 von Beverly
Hi rudigus,
versuche es mal mit diesem Code
Bis später,
Karin
versuche es mal mit diesem Code
Private Sub CommandButton1_Click()
Dim doWert As Double, doWert2 As Double
Dim loZeile As Long
If UserForm1.TextBox1.Value > UserForm1.TextBox2.Value Then
MsgBox "Wert in Textfeld1 muss kleiner als Wert in Textfeld2 sein!"
Exit Sub
End If
loZeile = 1
doWert = UserForm1.TextBox1.Value
For doWert2 = UserForm1.TextBox1.Value To UserForm1.TextBox2.Value + 0.1 Step 0.1
doWert = Round(doWert, 1)
Worksheets("Tabelle1").Cells(loZeile, 1).Value = doWert
doWert = doWert + 0.1
loZeile = loZeile + 1
Next doWert2
End Sub
Bis später,
Karin
Antwort 2 von rudigus
Hallo liebe Karin,
vielen Dank für deine Mühe, es funktioniert!!
Nur eine Kleinigkeit:
Wieso hast du in der Zeile
dieses
Ich musste es entfernen, da ansonsten eben um ein 0,1 zu weit gezählt wurde.
Ich hatte die Blödheit das Objekt UserForm1 zu ignorieren, daher hat es schon im Ansatz nie funktioniert...
Nochmals vielen Dank!
vielen Dank für deine Mühe, es funktioniert!!
Nur eine Kleinigkeit:
Wieso hast du in der Zeile
For doWert2 = UserForm1.TextBox1.Value
To UserForm1.TextBox2.Value + 0.1 Step 0.1
dieses
+0.1 ?Ich musste es entfernen, da ansonsten eben um ein 0,1 zu weit gezählt wurde.
Ich hatte die Blödheit das Objekt UserForm1 zu ignorieren, daher hat es schon im Ansatz nie funktioniert...
Nochmals vielen Dank!
Antwort 3 von Beverly
Hi rudigus,
an und für sich ist der Code logischerweise natürlich ohne diesen Zusatz richtig, aber aus einem mir unerklärlichen Grund läuft er bei mir nur mit dem Zusatz korrekt. Ich arbeite mit Excel2002.
Bis später,
Karin
an und für sich ist der Code logischerweise natürlich ohne diesen Zusatz richtig, aber aus einem mir unerklärlichen Grund läuft er bei mir nur mit dem Zusatz korrekt. Ich arbeite mit Excel2002.
Bis später,
Karin
Antwort 4 von rudigus
Danke für die Antwort!
Übrigens:
Gibt es vielleicht eine sinnvolle Möglichkeit dem Programm zu sagen, dass der Wert in Textbox2 UNBEDINGT um 1,5 größer sein muss als jener in Textbox2 ?
Ich bin bisher nur auf NICHTsinnvolle Möglichkeiten gestoßen... :(
Liebe Grüße,
Rudi
Übrigens:
Gibt es vielleicht eine sinnvolle Möglichkeit dem Programm zu sagen, dass der Wert in Textbox2 UNBEDINGT um 1,5 größer sein muss als jener in Textbox2 ?
Ich bin bisher nur auf NICHTsinnvolle Möglichkeiten gestoßen... :(
Liebe Grüße,
Rudi
Antwort 5 von Beverly
Hi Rudi,
versuche es mal mit diesem Code
Bis später,
Karin
versuche es mal mit diesem Code
Private Sub TextBox2_AfterUpdate()
If TextBox2.Value < 1.5 * Val(TextBox1.Value) Then TextBox2.Value = 1.5 * Val(TextBox1.Value)
End Sub
Bis später,
Karin
Ich möchte kostenlos eine Frage an die Mitglieder stellen:
Ähnliche Themen:
- Feldinhalt einer Access Tabelle mit Wert im Recordset vergleichen
- Exel spalten löschen und leere Spalten mit 0 füllen
- mehrere Combobox gleichzeitig mit dem selben füllen
- Aus Access Excel-Datei füllen und öffnen
- Kann man eine Zelle über die Wenn-Funktion mit einer Farbe füllen?? Bedingte Formatierung geht leider nicht, weil der Bezug in einer anderen Tabelle l

