Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1888to1892
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
Mehrere UserForm_Initialize
02.07.2022 08:59:10
Kay
Hallo liebe gemeine Ich habe
leider ein Problem mit der "Private Sub UserForm_Initialize()" !
da ja nicht alle gleichzeitig laufen können wollte ich gerne wissen wie ich eine Initialize beenden kann und mit einer neuen anfangen kann. leider habe ich dazu noch nichts gefunden

'########Geleistete Arbeit je Stunde##########################
Private Sub UserForm_Initialize()
TextBox17.Text = Worksheets("Tabelle3").Range("O4").Value
TextBox31.Text = Worksheets("Tabelle3").Range("O5").Value
TextBox32.Text = Worksheets("Tabelle3").Range("O6").Value
TextBox33.Text = Worksheets("Tabelle3").Range("O7").Value
TextBox34.Text = Worksheets("Tabelle3").Range("O8").Value
TextBox35.Text = Worksheets("Tabelle3").Range("O9").Value
TextBox36.Text = Worksheets("Tabelle3").Range("O10").Value
TextBox37.Text = Worksheets("Tabelle3").Range("O11").Value
End Sub
Private Sub CommandButton4_Click()
Unload Me
End Sub
'########Klärffälle (Forlagen für Angaben )#####################
Private Sub UserForm_Initialize()
Dim lngUntersterEintrag As Long
lngUntersterEintrag = Range("Tabelle3!S65536").End(xlUp).Row
Me.ComboBox2.List = Range("Tabelle3!S2:S" & lngUntersterEintrag).Value
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
'########Etiketten vorlagen(Ausdruck)##########################
Private Sub UserForm_Initialize()
With ComboBox4
.Clear
.AddItem "Faulty"
.AddItem Format$(Date, "dd/mm/yyyy")
.ListIndex = 1
End With
End Sub
'########Etiketten vorlagenin Tabelle eintragen ##########################
Private Sub ComboBox4_Change()
Worksheet("Tabelle1").Range("W4").Value = ComboBox4.Value
End Sub

36
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere UserForm_Initialize
02.07.2022 09:05:09
Matthias
Hallo
UserForm_Initialize gibt es nur EINMAL
Pack also alles dort rein was rein soll.
Gruß ...
AW: Mehrere UserForm_Initialize
02.07.2022 09:06:13
ralf_b
Deine Frage ist seltsam. Es gibt für jede Userform immer nur ein Initialize. Alles was für die Erstellung der Userform benötigt wird, sollte im Ininitialize passieren. MAn kann auch das Activate benutzen. Beide Events passieren bevor die Userform sichtbar wird.
Du solltest die beiden Subs bei dir einfach zusammen kopieren, fertig.
Mehrere UserForm_Initialize ?
02.07.2022 09:22:26
onur
Mehrere UserForm_Initialize ?
Da hast du wohl irgendwas gewaltig falsch verstanden.
Du sollst keine Events selber schreiben/hinzufügen, sondern die benutzen, die im Codemodul ser Userform bereits enthalten sind ( die du siehst, wenn du auf den Dropdown-Button im Codefenster rechts oben klickst).
Userbild
Anzeige
AW: Mehrere UserForm_Initialize ?
02.07.2022 09:33:40
Kay
Sorry für das Missverständnis ! habe es inzwischen hinbekommen. Jetzt Mus ich nur alles hinbekommen das meine angaben in die Tabelle eingetragen werden. Das ganze befindet sich noch im auf bau
AW: Mehrere UserForm_Initialize ?
02.07.2022 10:31:02
Kay
sorry wen ich noch mall frage aber ich bin gerade dabei angaben aus meiner Tabelle(Cod Fenster in in das Klassenmodul zu übertragen und habe alles bis hir her gut hinbekommen. Ich weis das das nachfolgende Beispiel so nicht rein gehört !!! Leider habe ich gerade bzw noch keine Angang wie ich das ganze umgestalten muss daher wehren rat und gute Impulse sehr hilfreich.

Sub inTab3Eintragen()
Dim lfreerow As Long
With Worksheets("Tabelle3")
lfreerow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Cells(lfreerow, 1) = Worksheets("Tabelle3").Shapes("TextBox28").OLEFormat.Object.Object.Value
.Cells(lfreerow, 2) = Worksheets("Tabelle3").Shapes("TextBox29").OLEFormat.Object.Object.Value
.Cells(lfreerow, 5) = Worksheets("Tabelle3").Shapes("ComboBox2").OLEFormat.Object.Object.Value
TextBox28 = ""
TextBox29 = "1"
End With
End Sub

Anzeige
AW: Mehrere UserForm_Initialize ?
02.07.2022 10:32:20
onur
Und WAS GENAU ist jetzt deine Frage?
AW: Mehrere UserForm_Initialize ?
02.07.2022 10:50:52
Kay
Ich möchte gern die Angaben aus denText box28,Text box29, ComboBox2 in tabelle3 eintrage mit einem Commant button.Die Angaben sollen jeweils immer Zeile für Zeile eingetragen Werden (A,,B,E) wen ich den Button drücke
Ich hoffe das ich es verständlich erklären konnte?
Texbox28=SpalteA
Texbox29=SpalteB
ComboBox2=SpateE
AW: Mehrere UserForm_Initialize ?
02.07.2022 11:07:05
Daniel
Hi
Aus der Userform heraus so:

With Sheets("Tabelle3").Cells(Rows.Count, 1)
.Offset(1, 0).Value = Textbox28.Text
.Offset(1, 1).Value = Textbox29.Text
.Offset(1, 4).Value = Combobox2.Value
Ende With
Gruß Daniel
Anzeige
AW: Mehrere UserForm_Initialize ?
02.07.2022 11:12:43
Kay
Danke der Impuls hat mir gefehlt
AW: Mehrere UserForm_Initialize ?
02.07.2022 11:17:41
onur
Das war doch kein "Impuls" (zur Lösung deines Problems), das war die Lösung deines Problems. :)
AW: Mehrere UserForm_Initialize ?
03.07.2022 00:30:42
Kay
sorry wen ich noch mal frage (vileicht lieg es daran wall ich müde bin und gerade von der Spätschicht komme (00:18)
Ich habe die angaben in das Klasen Modul eingegeben aber es zeigt mir Fehlermeldung an bei " Ende With" ?(Rot).Wo hab ich hier nen Fehler gemacht ?

'######## Klärffäle (Vorlagen für Angaben )#####################
Private Sub UserForm_Initialize()
Dim lngUntersterEintrag As Long
lngUntersterEintrag = Range("Tabelle3!S65536").End(xlUp).Row
Me.ComboBox2.List = Range("Tabelle3!S2:S" & lngUntersterEintrag).Value
'########Etiketten vorlagen(Ausdruck)##########################
With ComboBox4
.Clear
.AddItem "Faulty"
.AddItem Format$(Date, "dd/mm/yyyy")
.ListIndex = 1
End With
End Sub
Private Sub UserForm_Click()
With Sheets("Tabelle3").Cells(Rows.Count, 1)
.Offset(1, 0).Value = TextBox28.Text
.Offset(1, 1).Value = TextBox29.Text
.Offset(1, 4).Value = ComboBox2.Value
Ende With

Anzeige
AW: Mehrere UserForm_Initialize ?
03.07.2022 07:15:16
onur

End With
ohne e am Ende.
AW: Mehrere UserForm_Initialize ?
03.07.2022 11:02:50
Kay
Danke onur!!
abgesehen das ich gestern voll ver­pennt habe das ganze entsprechend zuzuweisen, habe ich gerade ein Laufzeit Fehler (Anwendungs-oder Objektedefinierter Fehler)dem ich auf dem Grund gehe

'########Klärffälle (Forlagen für Angaben )#####################
Private Sub UserForm_Initialize()
Dim lngUntersterEintrag As Long
lngUntersterEintrag = Range("Tabelle3!S65536").End(xlUp).Row
Me.ComboBox2.List = Range("Tabelle3!S2:S" & lngUntersterEintrag).Value
'########Etiketten vorlagen(Ausdruck)##########################
With ComboBox4
.Clear
.AddItem "Faulty"
.AddItem Format$(Date, "dd/mm/yyyy")
.ListIndex = 1
End With
End Sub
Private Sub Reset_Click()
Faulty = ""
Format$(Date, "dd/mm/yyyy") = ""
Me.ComboBox2.List = ""
End Sub
Private Sub Arbeitsleistung_Click()
With Sheets("Tabelle3").Cells(Rows.Count, 1)
.Offset(1, 0).Value = TextBox28.Text
.Offset(1, 1).Value = TextBox29.Text
.Offset(1, 4).Value = ComboBox2.Value
End With
End Sub

Anzeige
AW: Mehrere UserForm_Initialize ?
03.07.2022 11:04:24
onur
Vielleicht verrätst du uns ja auch, WO GENAU der Fehler auftaucht?
AW: Mehrere UserForm_Initialize ?
03.07.2022 11:11:19
Kay
der Fehler taucht gerade auf bei Offset(1, 0).Value = TextBox28.Text
AW: Mehrere UserForm_Initialize ?
03.07.2022 11:15:12
onur
Wo sind die Textboxen? Auf dem Blaat oder auf der Userform?
AW: Mehrere UserForm_Initialize ?
03.07.2022 11:17:22
Kay
die TextBoxen und Combobox befinden sich in der Userform
AW: Mehrere UserForm_Initialize ?
03.07.2022 11:20:17
onur
Poste mal die Datei.
AW: Mehrere UserForm_Initialize ?
03.07.2022 11:33:12
onur
Wie Gerd schon schrieb:
With Sheets("Tabelle3").Cells(Sheets("Tabelle3").Rows.Count, 1).End(xlUp)
AW: Mehrere UserForm_Initialize ?
03.07.2022 17:45:03
Kay
ich hab mal NUR eine frage, ich habe 8 TextBoxen die mir meine Zahlenwerte die ich über die Userform eingebe und in die Tabelle eingetragen werden! Dies funktioniert alles auch ganz ordentlich. Hier kommt aber das Kuriosum für mich, erst wen ich die Userform schlisse und wider öffne werden mir die werte in den TextBoxen angezeigt. Kann mich einer aufklären was es damit auf sich hat (Dies ist nur eine Verständnis frage von mir )

Private Sub UserForm_Activate()
Klärfälle.TextBox17.Text = Sheets("Tabelle3").Range("O4").Value
Klärfälle.TextBox31.Text = Sheets("Tabelle3").Range("O5").Value
Klärfälle.TextBox32.Text = Sheets("Tabelle3").Range("O6").Value
Klärfälle.TextBox33.Text = Sheets("Tabelle3").Range("O7").Value
Klärfälle.TextBox34.Text = Sheets("Tabelle3").Range("O8").Value
Klärfälle.TextBox35.Text = Sheets("Tabelle3").Range("O9").Value
Klärfälle.TextBox36.Text = Sheets("Tabelle3").Range("O10").Value
Klärfälle.TextBox37.Text = Sheets("Tabelle3").Range("O11").Value

Anzeige
AW: UserForm_Activate ?
03.07.2022 18:20:34
GerdL
Die Prozedur wird -wie ihre Kopfzeile schon aussagt - nur bei jeder (neuen) Aktivierung des Userform bzw. Fensterwechsel auf das Userfom ausgeführt.
Schreibe deinen Code zur unmittelbaren Ausführung entweder ins Userform_Initialize oder in ein CommandButton_Click.- Ereignis.
Ansonsten läuft es?
AW: UserForm_Activate ?
03.07.2022 18:34:35
Kay
die Anweisung >>Initialize>Activate Hab es zwar umgestellt aber ich muss trotzdem die User Form schließen und wider Öffnen damit die aktuellen werte angezeigt werden aus meiner Tabelle
aber danke für die Info GerdL
AW: Mehrere UserForm_Initialize ?
03.07.2022 18:44:09
onur
Beschreibe doch mal genau, was deine Userform macht (machen soll)
.Kann es sein, dass du möchtest, dass der Text der Textboxen sich ändert, wenn der Wert der Zelle verändert wird und das selbe auch umgekehrt?
Anzeige
AW: Mehrere UserForm_Initialize ?
03.07.2022 19:21:37
Kay
Ich versuche es mal so gut es geht zu veranschaulichen
und Zwar habe ich zwei TextBoxen (SKU/Menge) und (Art.) in der User Form ,diese tragen bei jede Eingabe in der Userform die werte untereinander in die Tabelle3 -in Spalte A und B ein .
damit ich aber meine geleistete Arbeit je stunde erfassen kann Wirt bei jeder Eingabe die Urzeit erfasst und so die mengen Pro stunde ermittelt und in die dazugehörende Tabelle eingetragen und weiter verarbeitet. Hier habe ich die TextBoxen auf das Endergebnis gelegt bzw. verknüpft mit den jeweiligen TextBoxen
(das ganze ist eigentlich nichts weiter als ein Taschenrechner das addieren tut an dieser stelle)
Anzeige
AW: Mehrere UserForm_Initialize ?
03.07.2022 19:24:46
onur
Das beantwortet aber nicht meine Frage.
AW: Mehrere UserForm_Initialize ?
03.07.2022 11:24:37
GerdL
Hallo Kay!,
da fehlte etwas.

Private Sub UserForm_Click()
With Sheets("Tabelle3").Cells(Sheets("Tabelle3").Rows.Count, 1).End(xlUp)
.Offset(1, 0).Value = TextBox28.Text
.Offset(1, 1).Value = TextBox29.Text
.Offset(1, 4).Value = ComboBox2.Value
End With
End Sub
Gruß Gerd
initialize vs activate
03.07.2022 19:21:48
ralf_b
Deine Userform ist modal d.h. sie sperrt die Bearbeitung der Datei wenn die Userform angezeigt wird.
Somit werden die Zellinhalte beim Activate in die Userform geschrieben. Theoretisch macht dein Fehlerbild keinen Sinn
Versuche es mal mit der Zuordnung so. schreib das ins initialize , statt in activate.
Controlsource ist wie Rowsource und verknüpft die Textboxen mit den Zellen.

TextBox17.ControlSource = "Tabelle3!O4"
TextBox31.ControlSource = "Tabelle3!O5"
TextBox32.ControlSource = "Tabelle3!O6"
TextBox33.ControlSource = "Tabelle3!O7"
TextBox34.ControlSource = "Tabelle3!O8"
TextBox35.ControlSource = "Tabelle3!O9"
TextBox36.ControlSource = "Tabelle3!O10"
TextBox37.ControlSource = "Tabelle3!O11"

Anzeige
AW: initialize vs activate
03.07.2022 20:48:02
Kay
hallo leider funktioniert deine Lösung nicht , den sie löscht meine Formeln aus Spalte Spalte O4 bis O11.Somit erfassen die TextBoxen nicht die mengen nachdem ich ein Eingabe getätigt habe die Formel ist dann weg! (Beispiele: =I4+K4+M4)
AW: initialize vs activate
03.07.2022 21:33:05
ralf_b
Das kann ich nicht bestätigen. Ich habe es gerade getestet. mit Controlsource werden keine Formeln überschrieben.
Und die Werte stehen sofort in der Userform.
Was auch immer du da anders machst. Es bleibt wohl dein Geheimnis.
Aber in deiner Beispieldatei hast du noch ganz andere Probleme.
Durch eine Unklarheit bei der Arbeitsblattzuordnung wird das Datum in die falsche Tabelle geschrieben.
erkläre bitte was diese Sub "Private Sub Arbeitsleistung_Click()" machen soll.
AW: initialize vs activate
03.07.2022 23:27:27
Kay
Das mit dem Datum ist bei mir schon behoben !
als die Sub "Private Sub Arbeitsleistung _Click()
sagen wir mall textbox28(SKU/Produkt ) steht für das Produkt - in diesem Beispiel eine Hose und TextBox 29(Art.Mg) steht für die Stückzahl dieser Hose das vorhanden ist. Diese angaben werden in die Tabelle3 in Spalte A und B eingetragen für jeden Artikel und die zeit der Eingabe erfasst .Durch das erfassen der Eingabezeit kann ich so die Mengen die ich je stunde schaffe ermitteln so wie die Klärfallgründe
AW: initialize vs activate
03.07.2022 23:42:00
Kay
Die erste Eingabe Wirt sofort erfasst aber keine weiteren da die Formel dann in meiner Tabelle raus ist mit deiner Lösung ,warum das weis ich nicht (Spalte O4 bisO11)
so habe ich es bei mir im Klassenmodul zu stehen- da habe ich nichts weiter gemacht

'########Geleistete Arbeit je Stunde##############################################
Private Sub UserForm_Initialize()
TextBox17.ControlSource = "Tabelle3!O4"
TextBox31.ControlSource = "Tabelle3!O5"
TextBox32.ControlSource = "Tabelle3!O6"
TextBox33.ControlSource = "Tabelle3!O7"
TextBox34.ControlSource = "Tabelle3!O8"
TextBox35.ControlSource = "Tabelle3!O9"
TextBox36.ControlSource = "Tabelle3!O10"
TextBox37.ControlSource = "Tabelle3!O11"
End Sub

stimmt
04.07.2022 08:47:28
ralf_b
hast Recht, Ich weis gar nicht wieso mir das nicht aufgefallen ist.
Auf ein Neues. Erstelle eine sub in der die Werte eingelesen werden und rufe sie
im Arbeitsleistung_Click() und initialize

  Call InfoFuellen
das hier in das Codemodul der Userform

Sub InfoFuellen()
TextBox17 = Range("Tabelle3!O4")
TextBox31 = Range("Tabelle3!O5")
TextBox32 = Range("Tabelle3!O6")
TextBox33 = Range("Tabelle3!O7")
TextBox34 = Range("Tabelle3!O8")
TextBox35 = Range("Tabelle3!O9")
TextBox36 = Range("Tabelle3!O10")
TextBox37 = Range("Tabelle3!O11")
End Sub

AW: stimmt
04.07.2022 16:56:31
Kay
diesen teil verstehe ich nicht ganz>> Call InfoFuellen Dank soweit funktioniert es super, den jetzt werden alle angaben sofort angezeigt -wie gewünscht von mir. Nur beim entladen der Userform bleiben die Werte in den TextBoxen bestehen ,wen ich mit der resett Funktion die Tabellen Inhalte lösche, aber damit kann ich leben da ich dies nur brauch um die Tabelle zu entladen für den nässten Arbeitstag!!

Private Sub Restet_Click()
Sheets("Tabelle3").Range("A2:A1000,B2:B1000,D2:D1000,E2:E1000").ClearContents
Ich offfe das es so gemeint war mit >> Call InfoFuellen

'########Geleistete Arbeit je Stunde##############################################Activate
Sub InfoFuellen()
TextBox17 = Range("Tabelle3!O4")
TextBox31 = Range("Tabelle3!O5")
TextBox32 = Range("Tabelle3!O6")
TextBox33 = Range("Tabelle3!O7")
TextBox34 = Range("Tabelle3!O8")
TextBox35 = Range("Tabelle3!O9")
TextBox36 = Range("Tabelle3!O10")
TextBox37 = Range("Tabelle3!O11")
End Sub
Private Sub Übergeben_Click()
With Sheets("Tabelle3").Cells(Sheets("Tabelle3").Rows.Count, 1).End(xlUp)
.Offset(1, 0).Value = TextBox28.Text
.Offset(1, 1).Value = TextBox29.Text
.Offset(1, 4).Value = ComboBox2.Value
 Call InfoFuellen
End With
End Sub

AW: stimmt
04.07.2022 18:35:00
ralf_b
Call InfoFuellen ruft die Sub Infofuellen auf.
wenn du die Werte resetten willst, dann baue dir eine Infoloeschen sub. Das Muster liegt dir jetzt vor.
AW: stimmt
04.07.2022 18:50:30
Kay
Danke an dieser stelle für deine Kompetente Hilfe!
Und sollte ich an dieser stelle zu ansträngend gewesen sein, dann entschuldige ich mich in herzlicher form.
(dann kann ich dieses Thema abharken und mich meinen letzten 2 bis 3 Baustellenzuwenden)

80 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige