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

Do while Loop

Do while Loop
20.10.2017 13:55:32
Martina
Hallo Excel-Freunde,
ich möchte gerne wenn ich einen Button Klicke, dass was in einer bestimmten textbox
einetippt wurde überprüft wird. Dabei soll überprüft werden ob es sich um eine ganze Zahl handelt. D.h wenn ich zb ein String in der textbox stehen habe und den Button klicke, soll eine nachricht kommen mit "Bitte geben Sie eine ganze Zahl ein". Die
msgbox soll dann mit ok geschlossen werden und der Benutzer soll wieder etwas eintippen . Dies soll so lange geschehen, bis der Benutzer endlich eine ganze Zahl eingegeben (im Idealfall zwischen 1 und 12)hat. nach der Eingabe von einem ganzen Zahl soll die Schleife verlassen werden.
Ansatz:
Do
Monate = TextBox12
If IsNumeric(Monate) = False Then
MsgBox "Bitte geben Sie eine ganze Zahl ein"
Else
Monate = TextBox12
Loop Until IsNumeric(Monate) = True
irgendwie läuft das nicht so richtig :( .... hat jemand eine Idee?
Liebe Grüße
Tina

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Do while Loop
20.10.2017 14:04:30
ChrisL
Hi Tina
Z.B.
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1 = "" Or TextBox1 = 0 Or TextBox1 > 12 Then
MsgBox "Ganzzahl 1-12 erforderlich"
Cancel = True
End If
End Sub

Private Sub Textbox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57
Case Else: KeyAscii = 0
End Select
End Sub

cu
Chris
AW: Do while Loop
20.10.2017 14:12:56
Nepumuk
Hallo Tina,
ich würde eine Combobox einsetzen aus welcher der Benutzer ein Monat auswählen kann.
Gruß
Nepumuk
Anzeige
AW: Do while Loop
20.10.2017 14:28:18
Peter(silie)
Hallo, erstelle eine Tabelle nur mit Datums werten gefüllt.
Fülle dann eine Combobox mithilfe der Tabelle.
Hier eine BspMappe mit UF und unten nur Code:
https://www.herber.de/bbs/user/117127.xlsm
Private Sub UserForm_Initialize()
Dim arr(), varItem As Variant
Me.ComboBox1.Clear
arr = Date_Array
For Each varItem In arr
Me.ComboBox1.AddItem varItem
Next varItem
End Sub
Private Function Date_Array() As Variant()
Dim lRow As Long
Dim items() As Variant
With ThisWorkbook.Sheets(1)
lRow = .Cells(.Rows.Count, 1).End(xlUp).Row
items = .Range(.Cells(1, 1), .Cells(lRow, 1)).Value
End With
Date_Array = items
End Function

Anzeige
AW: Do while Loop
20.10.2017 15:02:30
Daniel
Hi
in dem Konzept geht das nicht mit DO.
ansonsten hat der Anwender ja keine Chance, die TextBox erneut zu befüllen.
in deinem Fall wäre der Code im Klick-Event des Buttons:
dim Monat as string
dim Check as boolean
Monat = Textbox12.Text
If IsNumeric(Monat) then '--- Eingabe ist Zahl
if Int(CLng(Monat)) = CLng(Monat) Then '--- Eingabe ist Ganzzahl
if Clng(Monat) >= 1 and Clng(Monat) 
wobei es sich im konkreten Fall wie schon beschrieben anbieten würde, die Eingabe über eine Combobox mit den Werten 1-12 zu machen.
dann brauchst du nur Abfragen, ob der ListIndex der Combobox > -1 ist, um festzustellen, ob eine gültige Eingabe gemacht wurde.
Gruß Daniel
Anzeige
AW: korrektur
20.10.2017 15:04:19
Daniel
die Prüfung auf Ganzzahl muss natürlich lauten:
If CLng(Monat) = CDbl(Monat) then
Gruß Daniel

218 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige