Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

change ereigniss nicht ausführen Userform

Betrifft: change ereigniss nicht ausführen Userform von: chris b.
Geschrieben am: 12.11.2007 14:04:54



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

  

Betrifft: AW: change ereigniss nicht ausführen Userform von: Peter Feustel
Geschrieben am: 12.11.2007 15:09:09

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


  

Betrifft: AW: change ereigniss nicht ausführen Userform von: Original Kurt
Geschrieben am: 12.11.2007 15:12:07

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


  

Betrifft: AW: change ereigniss nicht ausführen Userform von: dan
Geschrieben am: 12.11.2007 15:24:13

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




  

Betrifft: AW: change ereigniss nicht ausführen Userform von: chris b.
Geschrieben am: 13.11.2007 07:41:24

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


 

Beiträge aus den Excel-Beispielen zum Thema "change ereigniss nicht ausführen Userform"