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 ToggleButton
BildScreenshot zu ToggleButton ToggleButton-Seite mit Beispielarbeitsmappe aufrufen

IsNumeric akzeptiert keine negative Zahlen

Betrifft: IsNumeric akzeptiert keine negative Zahlen von: Dip
Geschrieben am: 13.03.2014 10:41:12

Hallo Allerseits,

Folgendes Makro verwende ich um die Eingabe von Werten in Zellen auf Zahlen zu beschränken:

For Each rngZelle In Target.Cells
If Not IsNumeric(rngZelle.Value) Then
MsgBox "Als Eingabe sind in diesem Zellbereich nur Zahlen zulässig!" & vbNewLine & "Bitte Eingabe korrigieren oder löschen!", , _
"Daten zu Projekt neu berechnen"

Exit Sub
End If
Next

Bei positiven Zahlen funktioniert alles wunderbar. Jedoch erkennt er negative Zahlen (-55) nicht als Wert und gibt die MsgBox Mitteilung wieder.

Weiss jemand woran dies liegen kann bzw. wie man auch negative Zahlen berücksichtigt?
Für jede Hilfe/Hinweis wäre ich Euch sehr dankbar!

Beste Grüsse
Patrick

  

Betrifft: AW: IsNumeric akzeptiert keine negative Zahlen von: GuentherH
Geschrieben am: 13.03.2014 11:07:46

Der Fehler tritt bei mir nicht auf; selbst bei Eingabe als Text, also '-55 wird eine Zahl erkannt.
muss andere Ursachen als die Syntax haben.
beste Grüße,
Günther


  

Betrifft: AW: IsNumeric akzeptiert keine negative Zahlen von: Beverly
Geschrieben am: 13.03.2014 11:08:08

Hi Patrick,

kann ich nicht nachvollziehen - auch bei negativen Zahlen ist der Wert numerisch.


GrußformelBeverly's Excel - Inn


  

Betrifft: AW: IsNumeric akzeptiert keine negative Zahlen von: Dip
Geschrieben am: 13.03.2014 11:58:46

Hmm... Anbei der ganze Code

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim lngZeile1 As Long, lngZeile2 As Long, lngZeile As Long
  Dim rngZelle As Range
  On Error GoTo Beenden
  Select Case Target.Column
    Case gSpalteTotal, Is >= gSpalteJan1
      Select Case Target.Row
        Case Is >= gZeileProj1
        If Me.ToggleButton1 = False Then
          
          For Each rngZelle In Target.Cells
            If Not IsNumeric(rngZelle.Value) Then
              MsgBox "Als Eingabe sind in diesem Zellbereich nur Zahlen zulässig!" & vbNewLine & _
 "Bitte Eingabe korrigieren oder löschen!", , _
                  "Daten zu Projekt neu berechnen"
                 
              Exit Sub
            End If
          Next
          '1. Zeile Projekt ermitteln
          lngZeile = Target.Row
          lngZeile1 = lngZeile
          Do Until Me.Cells(lngZeile1 - 1, 1) = ""
            lngZeile1 = lngZeile1 - 1
          Loop
          'Letzte Zeile Projekt ermitteln
          lngZeile = Target.Row
          lngZeile2 = lngZeile
          Do Until Me.Cells(lngZeile2 + 1, 1) = ""
            lngZeile2 = lngZeile2 + 1
          Loop
          
          Call AdditionenVBAProjekt(Zeile1:=lngZeile1, Zeile2:=lngZeile2)
        End If
      End Select
  End Select
Beenden:
  With Err
    Select Case .Number
      Case 0 'alles OK
      Case 13
        MsgBox "#NV! (PSP-Element) - Bitte zuerst die Projektstruktur definieren damit Werte  _
summiert werden können.", vbInformation + vbOKOnly, "Prüfung vollständige Projektstruktur"
      Case Else
        MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description, _
                vbInformation + vbOKOnly, "Makro: Worksheet_Change"
    End Select
  End With
End Sub

Vielleicht hilft dies bei der Identifizierung des Fehlers!?


Danke und Grüsse
Patrick


  

Betrifft: AW: IsNumeric akzeptiert keine negative Zahlen von: Beverly
Geschrieben am: 13.03.2014 12:09:33

Hi Patrick,

die Mappe mit dem Code wäre hilfreicher, denn niemand will das nachbauen, weil ein Nachbau nie identisch mit dem Original sein kann und dadurch könnten eventuelle Fehler möglicherweise nicht auftreten.


GrußformelBeverly's Excel - Inn


  

Betrifft: AW: IsNumeric akzeptiert keine negative Zahlen von: EtoPHG
Geschrieben am: 13.03.2014 13:17:07

Hallo Patrick,

Korrigiere mal die Msgbox so:

    MsgBox "Als Eingabe sind in diesem Zellbereich nur Zahlen zulässig!" & vbNewLine & _
         "Bitte Eingabe in " & rngZelle.Address & ":<" & rngZelle & "> korrigieren!", , _
                   "Daten zu Projekt neu berechnen"
Damit siehst du Addresse und Inhalt der Zelle und kannst visuell überprüfen, ob da tatsächlich kein numerischer Wert drin ist!

Gruess Hansueli


  

Betrifft: AW: IsNumeric akzeptiert keine negative Zahlen von: Dip
Geschrieben am: 13.03.2014 17:48:55

Hallo Zusammen,

Dankeschön! hatte einen Konflikt mit Variablen die ich nun korrigiert habe und nun funktionierts wie gewünscht!

Danke für Eure Aufmerksamkeit und Beste Grüsse
Patrick


 

Beiträge aus den Excel-Beispielen zum Thema "IsNumeric akzeptiert keine negative Zahlen"