Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1052to1056
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
Inputbox VBA Fehler
25.02.2009 20:14:03
Leitz
Hallo!
Habe ein kleines Problem!
Habe eine Inputbox in die eine Zahl geschrieben werden soll; definiert als String (strInput as String)
Für Berechnungen übergebe ich den Wert in einen Integer Speicher (intInput = strInput)
Wenn nun versehentlich ein Buchstabe in die Inputbox geschrieben wird dann habe ich eine Fehlermeldung.
Was kann ich da machen?
Bitte um Hlfe
Leitz G.

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
If IsNumeric(...) Then oT
25.02.2009 20:17:29
Matthias
AW: Inputbox VBA Fehler
25.02.2009 20:18:06
Renee
Hi Leitz,
Statt der einfachen InputBox nimm

strInput = Application.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId, Type)

wobei Type = 1, damit sind nur Zahlen zulässig.
GreetZ Renée

AW: Inputbox VBA Fehler
25.02.2009 23:02:16
Leitz
Kann nichts anfangen mit dieser INfo.
Benutze die VBA-Hilfe!!!! (owT)
26.02.2009 08:53:25
Renee

AW: Inputbox VBA Fehler
25.02.2009 20:18:56
Tino
Hallo,
überprüfe die Eingabe ob diese eine Zahl ist.
Beispiel:

If IsNumeric(strInput) Then
intInput = strInput
Else
MsgBox "Keine Zahl"
End If


Gruß Tino

AW: Inputbox VBA Fehler
25.02.2009 22:00:48
Leitz
Hallo!
Herzlichen Dank! Funkioniert super! (Variante Tino)
Hab noch eine Frage zu einer andern Inputbox: (immer 2 Buchstaben)
Kann ich auch das überwachen?
Danke und Gruß
Leitz G.
Anzeige
https://www.herber.de/forum/messages/1054160.html
25.02.2009 22:15:24
Da
da
AW: https://www.herber.de/forum/messages/1054160.html
25.02.2009 23:05:32
Leitz
Kann nichts anfangen mit dieser Info
AW: Inputbox VBA Fehler
25.02.2009 23:39:14
Tino
Hallo,
geht z. Bsp. so

Private Function InStrZahlenAndLen(strString$) As Boolean
Dim Regex As Object
Set Regex = CreateObject("Vbscript.Regexp")
With Regex
.Pattern = "\D"
.Global = True
InStrZahlenAndLen = .test(strString) And Len(strString) = 2
End With
Set Regex = Nothing
End Function
Sub Beispiel()
Dim strText As String
strText = InputBox("zwei Buchstaben eingeben")
If InStrZahlenAndLen(strText) Then
'Dein Code
Else
MsgBox "Es sind nur zwei Buchstaben zugelassen!"
End If
End Sub


Gruß Tino

Anzeige
für alle Lebenslagen...,
26.02.2009 11:14:32
Tino
Hallo,
hier mal ein Aufbau mit Beispielen.
Option Explicit

Private Function InStrNumperAndLen(strString$, Optional MaxLen As Long = -1) As Boolean
Dim Regex As Object
Dim sKomma As String, strStringTemp As String
sKomma = IIf("0.5" * 2 = 1, ".", ",") 'Ländereinstellung prüfen 
strStringTemp = Replace(strString, sKomma, "")

Set Regex = CreateObject("Vbscript.Regexp")
With Regex
    .Pattern = "\D"
    .Global = True
     InStrNumperAndLen = Not _
            .test(strStringTemp) And _
            IIf(MaxLen = -1, True, (Len(strString) = MaxLen)) And _
            (Len(strStringTemp) >= Len(strString) - 1)
End With
Set Regex = Nothing
End Function

Sub Beispiele()
Dim strText As String

'Beispiel 1 nur Text zulassen***************************** 
strText = "Hallo" 'Text InputBox 
If InStrNumperAndLen(strText) Then
 MsgBox "Die eingabe ist eine Zahl"
Else
 MsgBox "Die eingabe ist ein Text"
End If
'_________________________________________________________
 

'Beispiel 1.1 nur Text zulassen (auch mit Dezimalstellen)* 
strText = "15,5" 'Text InputBox 
If InStrNumperAndLen(strText) Then
 MsgBox "Die eingabe ist eine Zahl"
Else
 MsgBox "Die eingabe ist ein Text"
End If
'__________________________________________________________
 

'Beispiel 2 nur Zahlen zulassen**************************** 
strText = "12" 'Text InputBox 
If InStrNumperAndLen(strText) Then
 MsgBox "Die eingabe ist eine Zahl"
Else
 MsgBox "Die eingabe ist ein Text"
End If
'__________________________________________________________
 

'Beispiel 3 nur Zahlen zulassen mit betimmter länge******** 
strText = "12" 'Text InputBox 
If InStrNumperAndLen(strText, 2) Then
  MsgBox "Die eingabe ist eine Zahl mit richtiger Länge"
Else
 MsgBox "Die eingabe ist ein Text oder Länge ist falsch"
End If
'__________________________________________________________
 

End Sub


Habe ich etwas vergessen?
Gruß Tino

Anzeige
Komma / Ländereinstellungen
26.02.2009 11:31:18
Renee
Hi Tino,
Das Teil:

sKomma = IIf("0.5" * 2 = 1, ".", ",") 'Ländereinstellung prüfen
strStringTemp = Replace(strString, sKomma, "")


kannst Du billiger und v.a. unabhängiger so haben:

strStringTemp = Replace(strString, Application.International(xlDecimalSeparator), "")


GreetZ Renée
AW: Komma / Ländereinstellungen
26.02.2009 11:45:47
Tino
Hallo,
wenn ich in Excel nicht die Ländereinstellungen vom Betriebssystem übernehme
funzt Deine nicht mehr.
Gruß Tino
AW: Komma / Ländereinstellungen
26.02.2009 11:57:04
Renee
Hi,
Zitat: wenn ich in Excel nicht die Ländereinstellungen vom Betriebssystem übernehme
und wie kann ich das bewerkstelligen ?
GreetZ Renée
Anzeige
AW: Komma / Ländereinstellungen
26.02.2009 12:00:53
Tino
Hallo,
in xl2007 z. Bsp. hier
Userbild
Gruß Tino
Verschone mich von XL2007 .... (owT)
26.02.2009 12:04:07
XL2007

gibt es auch in den anderen ;-) oT.
26.02.2009 12:12:30
Tino

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige