Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1756to1760
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

Userform Array ein und auslesen

Userform Array ein und auslesen
14.05.2020 18:44:18
Ludmila
Hallo,
ich möchte gerne die Steuerelemente einer Userform als Array ein bzw. auslesen.
Private Sub CommandButton1_Click() 'Werte in Tabelle schreiben
Dim arrSt
Dim i As Integer
arrSt = Array(Me.txtSt_Art1, Me.txtSt_Bez1, Me.txtSt_Mod1, Me.cboSt_Arten1, Me. _
cboSt_Bez1)
For i = LBound(arrSt, 1) To UBound(arrSt, 1)
Cells(i + 2, 2) = arrSt(i)
Next
End Sub
'Das hier funktioniert nicht
Private Sub CommandButton2_Click() 'Werte aus Tabelle in Steuerelemente schreiben
Dim arrSt
Dim i As Integer
arrSt = Array(txtSt_Art1, txtSt_Bez1, txtSt_Mod1, cboSt_Arten1, cboSt_Bez1)
For i = 2 To 6
arrSt(i - 1) = Cells(i, 2)
Next
End Sub

Danke!
Gruß
Ludmila
https:\/\/www.herber.de/bbs/user/137557.xlsm

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform Array ein und auslesen
14.05.2020 19:58:50
Mullit
Hallo,
die Array-Funktion gibt ein eindim. nullbasiertes Array zurück, also:
For i = 2 To 6
    arrSt(i - 2) = Cells(i, 2)
Next
Gruß, Mullit
AW: Userform Array ein und auslesen
14.05.2020 20:04:49
Ludmila
Hallo Mullit
Danke für Deine Antwort,
scheinbar bin ich zu dumm, den es funktioniert bei mir nicht.
Die Text und Combo werden nicht gefüllt.
Private Sub CommandButton2_Click()
Dim arrSt
Dim i As Integer
arrSt = Array(txtSt_Art1, txtSt_Bez1, txtSt_Mod1, cboSt_Arten1, cboSt_Bez1)
For i = 2 To 6
arrSt(i - 2) = Cells(i, 2)
Next
End Sub

Gruß
Ludmila
Anzeige
AW: Userform Array ein und auslesen
14.05.2020 20:38:18
Mullit
Hallo,
ah ja, deswegen sollte man immer die Default-Eig. angeben:
 For i = 2 To 6
        arrSt(i - 2).Value = Cells(i, 2).Value
 Next

Gruß, Mullit
AW: Userform Array ein und auslesen
14.05.2020 20:54:30
Ludmila
Hallo Mullit,
vielen Dank!
Gruß
Ludmila
AW: alles klar, prima....owT
14.05.2020 21:09:15
Mullit
Nachgefragt
14.05.2020 21:40:29
Ludmila
Hallo Mullit,
mir ist eben aufgefallen, das ich es nicht schaffe das Array in eine Const zu bringen.
Ansonsten müsste ich bei jedem Makro das Array einfügen.
Ist sowas möglich?
Public Const arrSt As Variant = Array(UserForm1.txtSt_Art1, UserForm1.txtSt_Bez1, UserForm1.txtSt_Mod1, UserForm1.cboSt_Arten1, UserForm1.cboSt_Bez1)
Nochmals Danke für Deine Hilfe!
Gruß
Ludmila
Anzeige
AW: Nachgefragt
14.05.2020 22:13:18
Mullit
Hallo Ludmila,
ja allerdings nicht mit Konstanten, die dürfen eben nur konstante Werte enthalten, sondern entweder mit Public Functions, oder Property Procs, such Dir was aus...;-):
Public Function Control_Array() As Variant
With UserForm1
Control_Array = Array(.txtSt_Art1, .txtSt_Bez1, _
.txtSt_Mod1, .cboSt_Arten1, .cboSt_Bez1)
End With
End Function
Public Property Get Control_Array() As Variant
With UserForm1
Control_Array = Array(.txtSt_Art1, .txtSt_Bez1, _
.txtSt_Mod1, .cboSt_Arten1, .cboSt_Bez1)
End With
End Property

Gruß, Mullit
Anzeige
AW: Nachgefragt
14.05.2020 22:28:15
Mullit
...ach ja btw, benötigst Du Dein Array nur in der Form, würde man besser so formulieren:
Private Function Control_Array() As Variant
Control_Array = Array(txtSt_Art1, txtSt_Bez1, _
txtSt_Mod1, cboSt_Arten1, cboSt_Bez1)
End Function

Gruß, Mullit
AW: Nachgefragt
15.05.2020 06:30:57
Ludmila
Hallo Mullit,
vielen Dank!
Gruß
Ludmila

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige