Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1452to1456
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Array aus mehreren Inputs

Array aus mehreren Inputs
22.10.2015 09:09:15
Luca
Hallo zusammen, ich habe eine UserForm, in welcher der User ein Name für den Input und 3 Range inputs eingeben kann. Nun soll es möglich sein, dass er, nach Eingabe der 4 Dinge, ein Knopf drückt und der Name mit den Werten in einer Listbox erscheint. Danach sollen sich die Inputs "leeren" so dass er weiter Inputs tätigen kann. Dies theoretisch unendlich vielmal.
Ich dachte nun könnte ich das ganze mit Arrays programmieren, jedoch scheitere ich in der Umsetzung: Wie sollte der Code aussehen damit der User beliebig viele Inputs machen kann, aber gleichzeitig nachträglich noch einzelne ändern kann (wenn er bei der ListBox ein Input auswählt) ?
Gruss

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array aus mehreren Inputs
22.10.2015 09:30:14
Daniel
Hi
kannst du prinzipell mit Arrays machen.
du musst nur bedenkten, dass wenn du ein Array erweitern willst, ohne dass die bereits vorhandenen Daten verlorgen gehen, (Redim Preserve) du immer nur die letzte Dimension (bei 2-D-Arrays also die Spalten) verändern kannst, die anderen Dimensionen können nicht erweitert werden und müssen ihre ursprünglichen Grenzen behalten.
Weil die Listbox aber zeilenweise arbeitet, kannst du dieses Array dann nicht direkt in die Listbox übergeben, sondern müsstest es erst noch transponieren (Zeilen und Spalten tauschen)
wenn du aber nicht mehr als 10 Spalten hast, kannst du aber mit .AddItem die Listbox direkt erweitern und brauchst kein zusätzliches Array.
Gruß Daniel

Anzeige
AW: Array aus mehreren Inputs
22.10.2015 09:33:56
Luca
Hi Daniel
danke erstmal. Meine Idee war nun für jeden Input ein Array zu machen, sprich ein Array Bezeichnungen(), dann einer xValues() einer y1Values() und y2Values() ... das ganze wird dann für das plotten eines Diagramms benötigt. Meine Idee war beim Button_click sozusagen den Array zu füllen mit Bezeichnungen(i) = TextBox1.Value und dann additem Bezeichnungen(i) und dann i = i + 1, so dass der User beliebig viele INputs hat? geht das so? im Moment bekomme ich immer den Fehler das der Index ausserhalb des gültigen Bereich ist. Geht das überhaupt so wie ich es mir denke oder nicht?

Anzeige
AW: Array aus mehreren Inputs
22.10.2015 11:14:50
Rudi
Hallo,
dafür brauchst du keine Arrays.
z.B.
Private Sub CommandButton1_Click()
With ListBox1
.AddItem
.List(.ListCount - 1, 0) = TextBox1
.List(.ListCount - 1, 1) = TextBox2
.List(.ListCount - 1, 2) = TextBox3
.List(.ListCount - 1, 3) = TextBox4
End With
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox1.SetFocus
End Sub

Das kannst du machen, bis der Arzt kommt.
Gruß
Rudi

AW: Array aus mehreren Inputs
22.10.2015 11:22:57
Luca
Hi Rudi
ja klar so könnte ich es schon machen, nur geht es mir ja darum, dass der User das Formular ausfüllen soll, danach den Knopf drücken, es die Inputs als Variablen abspeichert und er dass x-beliebig mal wiederholen kann, d.h. kann ich ja nicht einfach 1000 Variablen definieren und der Code würde ja lächerlich lange werden :S

Anzeige
AW: Array aus mehreren Inputs
22.10.2015 11:39:57
Rudi
Hallo,
du hast doch die Listbox.
z.B.
Private Sub CommandButton2_Click()
With ListBox1
Sheets(1).Cells(1, 1).Resize(.ListCount, .ColumnCount) = .List
End With
End Sub

oder
Private Sub CommandButton2_Click()
Dim vArr
vArr = ListBox1.List
ReDim Preserve vArr(UBound(vArr), ListBox1.ColumnCount - 1)
machWas vArr
End Sub
Sub machWas(vArr)
Sheets(1).Cells(1, 1).Resize(UBound(vArr) + 1, UBound(vArr, 2) + 1) = vArr
End Sub
Gruß
Rudi

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige