Array sequentiell ausgeben

16/10/2007 - 16:27 von kortmann81 | Report spam
Hallo,

ich habe mal wieder das nàchste Problem, bei dem ich nicht ganz weiter
komme. :-(

Angenommen ich fülle ein array "werte". Das Array kann von garnichts
(Fehler abfangen!) bis unendlich gefüllt sein. Also ist es dynamisch.
Jetzt habe ich zum Beispiel 3 Textboxen, die mit den Werten von werte
gefüllt werden soll. Dabei sollen die ersten 3 Datensàtze zuerst
angezeigt werden. Erst wenn ein Button geklickt wird soll der nàchhste
angezeigt werden.

Bsp.

werte(0) = 1
werte(1) = 2
werte(2) = 4
werte(3) = 7

als erstes sollen werte(0,1,2) = (1,2,4) ausgegeben werden. Wenn nun
Commandbutton1 gedrückt wird soll werte um 1 erhöht werden,

also
werte (1,2,3) = (2,4,7)

in diesem Beispiel muss dann ja Schluss sein, also muss auch irgendwie
dieses abgefangen werden. Hat jemand ne idee? oder vielleicht eine
fertige "kostenlose" Lösung :-)

Vielen Dank im voraus.
Gruß Jan
 

Lesen sie die antworten

#1 Lorenz Hölscher
16/10/2007 - 20:02 | Warnen spam
Hallo Jan,

bastel Dir eine UserForm mit drei Textboxen (Textbox1...3) und zwei
Buttons(btnToStart, btnToEnd) und setze den folgenden Code hinein:
_________________________________
Dim varDaten As Variant
Dim lngTop As Long
Const intNrBoxes = 3

Private Sub btnToStart_Click()
If lngTop = 1 Then
Beep 'unteres Ende der Fahnenstange!
Else
lngTop = lngTop + 1
End If
ShowThese
End Sub

Private Sub btnToEnd_Click()
If lngTop = UBound(varDaten) - intNrBoxes + 1 Then
Beep 'oberes Ende der Fahnenstange!
Else
lngTop = lngTop + 1
End If
ShowThese
End Sub


Private Sub UserForm_Initialize()
Dim rngQuelle As Range
Dim i As Integer

Set rngQuelle = Selection.CurrentRegion
varDaten = rngQuelle.Cells()

If IsEmpty(varDaten) Then
For i = 1 To intNrBoxes
Me.Controls("TextBox" & i).Enabled = False
Next
End If
End Sub


Private Sub ShowThese()
Dim i As Integer

For i = 1 To intNrBoxes
Me.Controls("TextBox" & i).Value = varDaten(lngTop + i - 1, 1)
Next
End Sub
_________________________________

Das ist jetzt noch nicht wunderbar elegant, aber scheint Deine
Anforderungen zu erfüllen. Als Grundlage für das Array setze ich eine
einspaltige Markierung in einer Tabelle voraus. Darüber kann ich zum
Testen die Anzahl der Zellen àndern. Im wesentlichen verhàlt sicher
das so wie der Dialog für die Dateneingabe der Szenarien.

tschö, Lorenz

-
http://www.cls-software.de/cls_soft...elVBA.aspx

Ähnliche fragen