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

Change Ereignis in Userform

Change Ereignis in Userform
28.05.2023 21:03:53
Eddie Felson

Hallo,
ich möchte Tabelle-Einträge mit Daten aus einem Userform modifizieren.

In dem Formular werden im Prinzip diverse Einträge, zur Änderung angeboten.

Da ich die Sache aber möglichst 'sicher' halten will, möchte ich nicht alles was im Form an Daten steht, mit einem OK Button in die Tabelle zurückschreiben, sondern nur was sich verändert hat.

Alten Inhalt mit neuem Inhalt zu vergleichen, wäre aufgrund der vielen Felder extrem umständlich.

Das Userform TextBox_Change Ereignis würde sich anbieten. Würde eine Änderung erkannt werden, könnte ich den Inhalt der Textbox direkt in die Tabelle zurückschreiben.

Leider feuert das Change Ereignis schon das Erste mal, wenn ich das Userform mit den betreffenden Daten fülle und .Show mache.

Ganz klar ist mir das nicht, weil ich Application.EnableEvents = False habe

Start Procedere zum Userform öffnen:
Application.EnableEvents = False
FORM.TextBox1 = WKS.Cells(y, x)
Application.EnableEvents = True
FORM.show

Bis dort hin hat TextBox1_Change schon einmal gefeuert und das soll nicht sein und ich verstehe auch nicht warum
Grüße

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

Betreff
Datum
Anwender
Anzeige
AW: Change Ereignis in Userform
28.05.2023 21:26:59
GerdL
Hallo Eddie!
'Start Procedere zum Userform öffnen:
'
FORM.TextBox1.Tag = WKS.Cells(y, x).Text
FORM.Show
End Sub

'Userformmodul
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)

If TextBox1 > TextBox1.Tag Then
    TextBox1.Tag = TextBox1
    WKS.Cells(y, x).Text = TextBox1
Else
    Cancel = True
    MsgBox "Nix Neues!"
End If
End Sub
Gruß Gerd


AW: Change Ereignis in Userform
28.05.2023 21:39:19
Eddie Felson
Ich bin über die Benutzung von .Tag überrascht. Ich habe mit .Tag noch nie was gemacht.
Mich würde überhaupt mal der Sinn des .Tag allgemein interessieren,
Insbesondere in dieser Funktion.

Ich schreibe ja einfach auf Textbox1 in der Annahme, dass der Wert dann default auf Textbox1.Text geschrieben wird.

Erstmal danke für die Antwort. Umsetzen werde ich das sicher jetzt können, bloß nicht ganz verstehen.


Anzeige
AW: Change Ereignis in Userform
28.05.2023 22:12:20
Eddie Felson
Hallo Gerd,
ich habe leider noch keine Funktion.

Nach dem das Userform offen ist, hat das Textfeld nicht den Wert der Zelle.
Wenn ich bei der oberen Laderoutine die events abschalten, steht nichts in der Textbox
Wenn ich events nicht abschalte, steht in der Textbox der Inhalt von .Tag
Der Inhalt von .Tag ist allerdings nicht der von der aktuellen Zelle, sondern vom Durchgang (von der Zelle) die ich zuvor bearbeitet habe.

Gruß Eddie


AW: Change Ereignis in Userform
28.05.2023 22:15:40
onur
Was man bei "VBA gut" wissen müsste:
Application.EnableEvents = False
funktioniert NICHT bei Steuerelementen, sondern nur bei Blatt oder Mappen-Events.
Schreib einfach in das Textbox-Event als erste Zeile:
If Not form.Visible Then Exit Sub


Anzeige
AW: Change Ereignis in Userform
28.05.2023 22:41:59
Eddie Felson
1+

Danke


Gerne !
28.05.2023 22:54:43
onur

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige