Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
660to664
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
660to664
660to664
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

bei verlassen der Textbox...

bei verlassen der Textbox...
03.09.2005 18:44:38
Walter
Hallo,
habe eine Textbox in der ich eine 4 stelleige Zahl eingebe.
Funktioniert alles. Nun möchte ich wenn die Textbox verlassen wurde und eine Zahl steht drin egal wie groß also auch 9999 oder 333a soll eine MSGBOX kommen
und eine Abfrage, wenn JA dann in Textbox2 sonst in Textbox3.
Die MSGBOX habe ich schon.
Walter

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bei verlassen der Textbox...
03.09.2005 19:46:22
Nepumuk
Hallo Walter,
und wenn keine Zahl drin steht? Soll 333a als Hexadezimalzahl interpetiert werden? Das wären dann aber 13.114 in dezimal und damit nicht vierstellig.
Gruß
Nepumuk
Excel & VBA – Beispiele
AW: bei verlassen der Textbox...
03.09.2005 20:10:07
Walter
Hallo nepumuk,
Danke für dein Unterstützung.
Ich habe soweit ein wenig zusammengebastelt, leider bleibt nach der Beantwortung mit
JA die MSGBOX stehen ich muß nochmal drücken und geht nicht in die Textbox38, bei NEI
ebenfalls geht aber in die Textbox 30 also Richtig.
Hier das Makro:

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
txt_N TextBox1
If TextBox1.Value > "0" Then
Dim Antwort
Antwort = MsgBox("Sind Sie Mitglied einer Topfgemeinschaft ? " & Chr(13) & _
Chr(13) & Chr(13) & _
"         Wenn JA             " & Chr(13) & Chr(13) & _
"dann  >>>  JA  drücken       ", vbYesNo + vbQuestion, "  Hinweis !")
If Antwort = vbYes Then
TextBox38.Enabled = True
TextBox38.BackColor = vbWhite
Label63.Enabled = True
TextBox38.Value = "0000"
TextBox38.SetFocus
With TextBox38
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
Else
TextBox38.Value = ""
Worksheets("Kulanzblatt-VK").Range("U3") = ""
TextBox38.BackColor = Me.BackColor
TextBox38.Enabled = False
Label63.Enabled = False
TextBox30.SetFocus
With TextBox30
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
End If
End If
End Sub

Vielleicht kannst Du mi helfen ?
Gruß Walter
Anzeige
AW: bei verlassen der Textbox...
03.09.2005 20:50:08
Nepumuk
Hallo Walter,
das geht so nicht. Wenn du während des Verlassens einer Textbox einen SetFocus auf die nächste Textbox machst, dann wird die Tab- bzw. Enter-Taste nach dem SetFocus ausgeführt. Du musst also diese Taste erst mal canceln. Das geht aber im Exit - Ereignis nicht. Ich habe das mal ganz einfach nachgebaut, damit du siehst, wie es läuft:
' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Or KeyCode = 9 And Shift = 0 Then
        If TextBox1.Value > "0" Then
            KeyCode = 0
            If MsgBox("Weiter", 36, "Abfrage") = 6 Then
                With TextBox2
                    .Enabled = True
                    .BackColor = vbWhite
                    .Value = "0000"
                    .SetFocus
                    .SelStart = 0
                    .SelLength = Len(.Text)
                End With
            Else
                With TextBox2
                    .Value = ""
                    .BackColor = Me.BackColor
                    .Enabled = False
                End With
                With TextBox3
                    .SetFocus
                    .SelStart = 0
                    .SelLength = Len(.Text)
                End With
            End If
        End If
    End If
End Sub

Mach dir mal ein kleines Userform mit drei Textboxen. Die Textbox2 setzt du in den Eigenschaften auf Enabled = False. Dann teste diesen Code.
Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
Danke Super
03.09.2005 21:48:49
Walter
Hallo Nepumuk,
habe DEIN Makro einfach unter meinem Makro der Textbox1 kopiert, funktioniert !
Danke Walter
Ja aber... Bitte noch einmal
03.09.2005 22:09:03
Walter
Hallo Nepumuk,
wo baue ich den meine MSGBOX ein ?
Kannst Du mir das mal mit Text schreibenich weiss nicht die Zahle was ...
Hier meine MSGBOX:
MsgBox("Sind Sie Mitglied einer Topfgemeinschaft ? " & Chr(13) & _
Chr(13) & Chr(13) & _
" Wenn JA " & Chr(13) & Chr(13) & _
"dann &gt&gt&gt JA drücken ", vbYesNo + vbQuestion, " Hinweis !")
Gruß Walter
AW: Ja aber... Bitte noch einmal
03.09.2005 23:05:13
Nepumuk
Hallo Walter,
hat etwas gedauert, bis ich diesen Satz
Kannst Du mir das mal mit Text schreibenich weiss nicht die Zahle was ...
übersetzt hatte. Markiere das Wort MsgBox mit eine´m Doppelklick und drücke auf F1
Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
Sorry
03.09.2005 23:10:43
Walter
Hallo Nepumuk,
entschuldige bitte.
Jetzt noch einmal in Deutsch.
Bitte neben den Makro Zeilen die Erklärungen, damit ich dies auch für zukünftige
Makro anwenden kann.
Gruß Walter
AW: Sorry
03.09.2005 23:26:31
Nepumuk
Hallo Walter,
das ist eine Arbeit die ich nicht gerne mache. Frage mich lieber konkret nach dem was du nicht verstehst. Dann bekommst du auch eine konkrete Antwort. :-)
Gruß
Nepumuk
Excel & VBA – Beispiele
AW: Sorry
04.09.2005 10:25:18
Walter
Guten Morgen Nepumuk,
anbei:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Was heißt: KeyDown, KeyCode
If KeyCode = 13 Or KeyCode = 9 And Shift = 0 Then 'was nur 13 + Nr.9 ?
If TextBox1.Value &gt "0" Then
KeyCode = 0 'was ist 0 ?
If MsgBox("Weiter", 36, "Abfrage") = 6 Then 'was ist 36 + =6 ?
Gruß Walter

Anzeige
AW: Sorry
04.09.2005 10:44:48
Nepumuk
Hallo Walter,
KeyDown hat Microsoft das Ereignis genannt, das eintritt, wenn du in einer Textbox eine Taste drückst.
In KeyCode steht die Nummer der Taste die du gedrückt hast.
Die 13 ist die Enter - Taste die 9 ist die Tab - Taste. In Shift steht die 1 für die normale Shift - Taste, 2 für die Strg - Taste und 4 für die Alt - Taste.
KeyCode = 0 löscht einfach die gedrückte Taste. So, wie wenn du sie nicht gedrückt hättest.
36 = 32 + 4 zusammengesetzt. 32=vbQuestion 4=vbYesNo
6 = vbYes
Die Keycodes bekommst du so:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    MsgBox KeyCode
End Sub

An die Konstanten: Rufe mit F2 den Objektkatalog auf und gib in das Suchfenster mal vbInformation ein. Oder schau dir die VBA - Hilfe zur MsgBox an, oder gib in das Direktfenster ?vbInformation ein und drücke auf Enter.
Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
Danke o.t.
04.09.2005 11:36:47
Walter
Hallo Nepumuk,
das ist Super erklärt,
Danke.
Gruß Walter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige