HERBERS Excel-Forum - das Archiv
change ereigniss nicht ausführen Userform
chris


Hallo VBA Experten,
habe heute noch eine frage.
Habe eine userform erstellt.
Wie kann ich das change ereigniss nur ausführen lassen wenn der wert in der textfekld durch manuelle eingabe erfolgt ist.
Und wie kann ich dieses Change ereigniss ausschalten wenn der inhalt der textfeldes durch ein Makro gefüllt bzw. geändert wird ?
'Soll nur ausgeführt werden bei manueller auswahl in der combobox


Private Sub cbo_or_nummer_Change()
'makro
End Sub


'Wenn die combobox durch diesen code
cbo_or_nummer.Value = Cells(x, 2).Value
gefüllt, geändert wird soll das change makro nicht ausgeführt werden.
Ich dachte es geht mit Application.EnableEvents = false oder .screenupdating = false geht aber nicht bei einer userform ?
Wie geht das ? Vivlen dank gruß Chris

AW: change ereigniss nicht ausführen Userform
Peter

Hallo Chris,
dann musst du im Change-Ereignis abfragen woher der Anstoß zum Change der ComboBox kam und ggf. auf Exit Sub springen.
Gruß Peter

AW: change ereigniss nicht ausführen Userform
Original

Hi,


Private Sub cbo_or_nummer_Change()
If Not cbo_or_nummer.Tag = "Jetztnicht" Then
'makro
End If
cbo_or_nummer.Tag = ""
End Sub


Sub machs()
cbo_or_nummer.Tag = "Jetztnicht"
cbo_or_nummer.Value = Cells(x, 2).Value
End Sub


mfg Kurt

AW: change ereigniss nicht ausführen Userform
dan

Hallo,
den Inhalt der text box im code nur auf einer stelle aendern, und dabei ein flag setzen:
Option Explicit
Private m_text1_ChangedProgramatically As Boolean ' das ist der flag


Private Sub setText1_Text(newText As String)
m_text1_ChangedProgramatically = True ' flag setzen
Me.TextBox1.Text = newText ' jetzt wird TextBox1_Change() gerufen
m_text1_ChangedProgramatically = False ' flag zurueck setzen
End Sub



Private Sub TextBox1_Change()
' ... und hier den flag testen
If (m_text1_ChangedProgramatically = False) Then
' code here ...
MsgBox "TextBox was changed manually ..."
End If
End Sub


AW: change ereigniss nicht ausführen Userform
chris

Vielen dank euch allen !! Werde ich umsetzen wie ihr mir geraten habt !