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

AfterUpdate-Ereignis auslösen

AfterUpdate-Ereignis auslösen
Sonnenpeter
Hallo,
nachfolgender Makro funktioniert ohne Probleme wenn ich direkt in die Textbox schreibe.
Private Sub TextBox2_AfterUpdate()
If Me.TextBox2.Value = "" Then
Me.TextBox2.ForeColor = &H80000008
Me.TextBox2.BackColor = &H80000005
Else
Me.TextBox2.BackColor = RGB(255, 255, 230)
Me.TextBox2.ForeColor = RGB(0, 0, 256)
End If
End Sub
Wenn ich werte einlese funktioniert das Makro leider nicht.
Was ist zu tun um das AfterUpdate auszulösen?
Gruß SP

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

Betreff
Benutzer
Anzeige
AW: AfterUpdate-Ereignis auslösen
04.04.2010 19:27:01
Lutz
Hallo Sonnenpeter,
wenn Du eine Userform aufrufst, kannst Du mit
UserForm_Initialize()
.... Code
End Sub
Deine Einstellungen vornehmen.
Code steht in Userform
M.f.G.
Lutz
AfterUpdate-Ereignisprozedur aufrufen
04.04.2010 20:49:23
Erich
Hi Peter,
wo liest du die Werte ein?
Wenn du (im Code der UserForm) so etwas stehen hast wie
TextBox2.Value = Cells(x, y)
dann kannst du als Zeile darunter
TextBox2_AfterUpdate
schreiben und damit die Prozedur direkt aufrufen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: AfterUpdate-Ereignisprozedur aufrufen
04.04.2010 21:19:22
Gerd
Hallo Peter,
so z.B.
Private Sub CommandButton1_Click()
TextBox2.Value = ""
TextBox2_AfterUpdate
End Sub

Private Sub CommandButton2_Click()
TextBox2.Value = 111
TextBox2_AfterUpdate
End Sub

Private Sub TextBox2_AfterUpdate()
If TextBox2.Value = "" Then
TextBox2.BackColor = vbGreen
Else
TextBox2.BackColor = vbRed
TextBox2.ForeColor = vbBlue
End If
End Sub
Gruß Gerd
Anzeige
AW: AfterUpdate-Ereignisprozedur aufrufen
04.04.2010 21:50:52
Sonnenpeter
Hallo Erich,
hallo Gerd,
Danke für den Hinweis. Wie war das mit dem Wald und den Bäumen (man sieht sie nicht) :-)))
Ich fahre jedoch eine Schleife
For i = 1 To 30
Controls("TextBox" & i + 24).Value = Cells(i,colIndex)
Next
Jetzt kann ich natürlich
TextBox2_AfterUpdate
TextBox3_AfterUpdate
etc. darunter setzen.
Geht das auch eleganter?
Gruß SP
Ereignisprozedur nicht aufrufen
05.04.2010 11:17:18
Erich
Hi Peter,
du könntest direkt in der Schleife färben:

For i = 1 To 30
With Controls("TextBox" & i + 24)
.Value = Cells(i, colIndex)
If .Value = "" Then
.BackColor = vbGreen
Else
.BackColor = vbRed
.ForeColor = vbBlue
End If
End With
Next
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort und: Schönen O.montag!
Anzeige
AW: Ereignisprozedur nicht aufrufen
05.04.2010 19:57:37
Sonnenpeter
Servus Erich,
schon klar, da ich aber in den Textboxen auch Zahlen und Datumsformate darstelle ist die Schleife nur der halbe weg.
Ich habe also unter der Schleife allen Textboxen die Zahlenformate separat (einzeln) zugewiesen.
Einen anderen Weg habe ich nicht gefunden.
Danke für Deine Unterstützung.
Gruß SP

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige