Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1704to1708
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

Userform
09.08.2019 12:00:02
Uwe
Hallo,
ich arbeite an einem Excelprojekt zur Erfassung von Daten für das Deutsche Sportabzeichen. Zur Vereinfachung und Testen habe ich ein neue Excel Tabelle mit Makros gebastelt, die ich zum Teil im Internet gefunden hatte und anpasste. Die Dateneingabe soll über eine Userform mit Listbox und Textfeldern erfolgen. Die Anzahl der Spalten in der Tabelle kann dabei unterschiedlich sein. Deshalb versuchte ich, dass die Listbox (Spaltenanzahl), die Anzahl der Textfelder und auch die zugehörigen Labels dynamisch erzeugt werden. Das funktioniert auch.
Aber: Beim Einlesen der Daten in die Userform als auch beim Übertragen in die Tabelle entstehen Fehler in der Zuordnung der Einträge bzw. Spalten.
Da ich den/ die Fehler bisher nicht finden konnte, bitte ich Euch um Hilfe dafür.
Zur Veranschaulichung habe ich die Testtabelle hoch geladen:
https://www.herber.de/bbs/user/131353.xls
Vielen Dank schon einmal.

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

Betreff
Datum
Anwender
Anzeige
AW: Userform
09.08.2019 17:26:25
onur
Es kommt eine Fehlermeldung bei
For Each rngZelle In Range("A1:" & strColumn & intLastRow)

(Sowas musst du immer angeben - Art UND Position der Fehlermeldung).
Ist auch kein Wunder, da du für jede ZELLE im Range den Code ausführen lässt - das sind bei 16 Zeilen und 16 Spalten 256 mal).
Du musst den Code aber nur für jede SPALTE ausführen lassen, und zwar so:
For Each rngZelle In Range("A1:" & strColumn & intLastRow).Columns

Anzeige
AW: Userform
12.08.2019 15:14:15
Uwe
Hallo,
vielen Dank erst einmal für die schnelle Rückmeldung. Habe Deinen Hinweis eingebaut. :-)
Mein eigentliches Problem besteht aber immer noch. Sicherlich hatte ich mich dazu missverständlich ausgedrückt. Daher ein erneuter Erklärungsversuch, nachdem ich auch ein wenig Ordnung in meine Makros gebracht habe. ;-)
Die Userform mit der dynamischen Listbox sowie den dynamischen Textboxen und Labels funktioniert soweit. D.h., wenn ich auf einen Eintrag in der Listbox klicke, wird dieser in die Textboxen übernommen. Aber: Beim Betätigen des Commandbuttons 2 zum Eintragen der Inhalte der Textboxen in die Tabelle werden die Daten nicht ab Spalte A in die erste freie Zeile am Ende der Tabelle eingetragen, sondern immer erst ab Spalte B! Genau das möchte ich berichtigt haben- Eintrag ab Spalte A in der ersten freien Zeile am Ende der Tabelle.
Hier die überarbeitete Tabelle:
https://www.herber.de/bbs/user/131394.xls
LG
Anzeige
AW: Userform
12.08.2019 19:00:30
Matthias
Moin!
Beim Einlesen geht Excel nicht nach deiner gewünschten Liste sondern nach dem Erstellen der Elemente. Da fängt der Code mit der TB1 an (die über der LB - die gibt es von Anfang an). Diese ist aber leer. Deshalb wird bei der ersten Zellen beim Eintragen nichts eingetragen. Trage erst ab der zweiten TB ein dann klappt es.
bspw. so:
 sp = -1                                                       ' Daten in Tabelle übertragen
For Each obj In Me.Controls                             ' Objekte suchen
If Left(TypeName(obj), 7) = "TextBox" Then          ' wenn TextBox dann ...
sp = sp + 1                              ' ... Spaltenzähler +1
If sp > 0 Then Cells(zziel, sp) = obj.Value                    ' ...Inhalt der Textbox  _
in Tabelle schreiben
End If                                              ' Ende der Schleife
Next obj

Zudem noch ein Hinweis. Das Einfügen der TB hast du zweimal im Code. Deshalb werden über Vorname nochmals TB eingefügt.
VG
Anzeige
AW: Userform
13.08.2019 07:56:57
Uwe
Hallo Matthias,
vielen Dank für Deine schnelle Hilfe. Bin begeistert- es klappt so, wie ich es mir vorstellte. Danke nochmals.
VG zurück.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige