UserForm Textboxen mit Werten aus Excel Datei füllen?

1 Antwort

Schreib im Userform folgendes:

(in Excel2007/ 2010 getestet)

Private Sub UserForm_Initialize()
Dim i As Byte
Dim currentName As String

For i = 1 To 10
'8 = H
currentName = Cells(i, 8).Value
UserForm1.Controls("TextBox" & CStr(i)).Text = currentName
Next
End Sub

ChrisFragtGern 
Fragesteller
 07.09.2017, 12:43

Hatte meine Schleife bis jetzt in dem anderen Makro drin und nicht in der UserForm datei. Muss ich denn in dem eigentlichen Makro dann nichts reinschreiben?

Der gibt mir jetzt als Fehler aus Objekt nicht gefunden

0
verreisterNutzer  07.09.2017, 12:46
@ChrisFragtGern

Im die Userform1 zu öffnen schreibst du folgendes in ein module. Dieses Makro startest du dann auch mit einem Button oder wie auch immer du willst. userformstarten öffnet dann die Userform, die aber beim öffnen initialisiert wird mit dem Makro das ganz unten steht

Sub userformstarten()
Userform1.show
End sub

Dann in der Userform dies hier:


Private Sub UserForm_Initialize()
Dim i As Byte
Dim currentName As String

For i = 1 To 10
'8 = H
currentName = Cells(i, 8).Value
UserForm1.Controls("TextBox" & CStr(i)).Text = currentName
Next
End Sub





0
ChrisFragtGern 
Fragesteller
 07.09.2017, 12:50
@verreisterNutzer

Wo in mein Modul muss ich Userform1.show benutzen? Habs jetzt ans Ende getan und mir wird das UserForm nicht angezeigt.

0
ChrisFragtGern 
Fragesteller
 07.09.2017, 12:55
@ChrisFragtGern

Habe außerdem das Gefühl, dass der durch die falsche Excel Datei läuft, wenn ich deinen Code in mein UserForm einfüge.
Das Makro sammelt Dateien aus 2 verschiedenen Excel Dateien und ich glaube Cells(i, 8).Value wird jetzt in der falschen Excel datei gesucht. Als ich den Code noch in meinem Modul stehene hatte und nicht im UserForm hat das Makro auf jeden Fall in der richtigen Datei gesucht.

0
verreisterNutzer  07.09.2017, 12:58
@ChrisFragtGern

Wenn du das Tabellenblatt wirklich auch fixieren willst, dann so

Private Sub UserForm_Initialize()
Dim i As Byte
Dim currentName As String

Sheets("Tabelle1").Select
For i = 1 To 10
'8 = H
currentName = Sheets("Tabelle1").Cells(i, 8).Value
UserForm1.Controls("TextBox" & CStr(i)).Text = currentName
Next
End Sub
1
ChrisFragtGern 
Fragesteller
 07.09.2017, 13:07
@ChrisFragtGern

Also ich hab mal in mein UserForm den Sheet neu aufgerufen und den Pfad erstellt. Wenn ich jetzt im Debug-Einzelschritt Menü da durchgehe dann klappt alles und ich hab am Ende die Namen in der Textbox. Wenn ich mein Hauptmakro jedoch ausführe zeigt der mir das UserForm nichtmal. Userform_initialize ist in UserForm1

0
ChrisFragtGern 
Fragesteller
 07.09.2017, 13:22
@verreisterNutzer

Bin gerade selber etwas vorran gekommen.
Probier erst selber noch ein bisschen rum. Wenn ich bis morgen nicht weiter komme, dann schick ich dir die Daten als PN.

Danke bis hierhin schonmal für deine Hilfe :)

1