Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
808to812
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
808to812
808to812
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

userform dynamisch erweitern

userform dynamisch erweitern
16.10.2006 16:07:29
Julia
hallo,
also ich möchte in der lage sein durch eine userform eine matrix anzulegen...die größe der matrix sol variable sein...
meine userform besteht aus einer listbox(wo z.b. eine id ausgewählt werden kann)
und 2 textboxen, wo zu der id zugehörige daten eingegeben werden müssen
das alles bildet dann eine zeile in der matrix
ich bin auch schon soweit, dass wenn man den knopf erstellen drückt, das eine msgbox erscheint, wo gefragt wird ob man noch eine weitere zeile in die matrix einfügen möchte...
nun würde ich es gerne so machen, das wenn der benutzer ja sagt, dass dann genau unter den positionen der "früheren" listbox und textfelder...neue angelegt werden...
ich hatte überlegt ob man die nummern der textboxes und listboxes evtl. in einer variablen speichen könnte und dann in einem schleifen durchlauf neue anlegen könnte? ist das möglich!?
oder kann ich die anzahl von textfeldern und listboxen auch mit einer schon vordefinierten funktion abfragen!? bzw. die positionen der alten auch mit einer funktion abfragen!?
danke

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: userform dynamisch erweitern
16.10.2006 16:32:55
Rudi
Hallo,
geht, ist aber ein bisschen aufwändig. Schreibe doch einfach die Daten in ein Array oder eine Tabelle und leere die Felder für Neueingabe.
Gruß
Rudi
AW: userform dynamisch erweitern
16.10.2006 16:39:28
Julia
ach so naja es soll ja später in ein array...nur ist ja die frage wieviel id's von meinetwegen 40 der benutzer anspricht....auch kann ich dann nciht als standardwert null für die anderen machen...wenn ich einfach 40x3 feld gleich von vornherein hab...da es sonst den programmablauf stören würde...
habe schon was gefunden:
https://www.herber.de/forum/archiv/8to12/t11452.htm
bin nur noch am umkuddeln...weil irgendwie muss ich noch rausfinden mit welchen index die man ansprechen kann... :(
Anzeige
AW: userform dynamisch erweitern
17.10.2006 09:26:42
Rudi
Hallo,
mal als Ansatz:
UF mit 1 Listbox, 2 Textboxen und 1 Commandbutton (cmdOK)
Option Explicit
Dim vntDaten()

Private Sub cmdOK_Click()
Dim strWeiter As String
Static n As Integer
n = n + 1
ReDim Preserve vntDaten(1 To 3, 1 To n)
vntDaten(1, n) = ListBox1
vntDaten(2, n) = TextBox1
vntDaten(3, n) = TextBox2
strWeiter = MsgBox("Mehr Daten?", vbYesNo)
If strWeiter = vbYes Then
ListBox1.ListIndex = -1
TextBox1 = ""
TextBox2 = ""
Else
With Sheets(2)
.Cells.ClearContents
.Range(.Cells(1, 1), .Cells(n, 3)) = WorksheetFunction.Transpose(vntDaten)
End With
Me.Hide
Unload Me
n = 0
End If
End Sub

Gruß
Rudi
Anzeige
AW: userform dynamisch erweitern
18.10.2006 21:17:06
Julia
hallo,
also irgendwie verstehe ich das nciht so ganz:
was ist eigentlich redim!?
vntDaten() ist ein datenfeld!? und die größe ist nciht festgelegt!?
WorksheetFunction.Transpose(vntDaten)...was heißt das!?
danke
AW: userform dynamisch erweitern
19.10.2006 13:45:48
Rudi
Hallo,
vntDaten() ist ein datenfeld!? und die größe ist nciht festgelegt!?
Genau! Dynamisches Feld.
was ist eigentlich redim!?
Warum schaust du nicht in die Hilfe?
Neudimensionierung des Feldes. Redim: alte Daten bleiben erhalten.
WorksheetFunction.Transpose(vntDaten)...was heißt das!?
Transponieren des Feldes. Hat 3 Zeilen und n Spalten. Danach n Zeilen und 3 Spalten.
Gruß
Rudi
Anzeige
AW: userform dynamisch erweitern
20.10.2006 15:26:18
Julia
rudi...vielen dank

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige