IsNumeric

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: IsNumeric
von: Franz W.
Geschrieben am: 05.10.2003 17:23:11

Hallo Fachleute,

ich möchte per VBA prüfen ob in den Zellen der Spalte "C" eine dreistellige Zahl drinsteht, um alle gefundenen in einem anderen Blatt aufzulisten. Ich bin mit meinen Versuchen bisher gescheitert, weiß leider nicht mal genau wie ich IsNumeric einsetzen soll (bin ich damit überhaupt richtig?). Und darum bitte ich EUch um Eure Hilfe.

Vielen Dank schon mal im Voraus

Grüße
Franz

Bild


Betrifft: bin schon weiter...
von: Franz W.
Geschrieben am: 05.10.2003 17:31:24

bin mal wieder über einen dummen Fehler gestolpert, den hab ich jetzt und folgendes läuft:


Sub Test()
Dim NrZel As Range, Bereich As Range
Set Bereich = Range(Cells(9, 3), Cells(121, 3))
    For Each NrZel In KdBereich
        If IsNumeric(NrZel) And Not NrZel = "" Then
            MsgBox NrZel.Address
        End If
    Next
End Sub


WAS MIR ABER JETZT NOCH FEHLT - und da komme ich nicht weiter - ist, dass NUR DREISTELLIGE Zahlen gelesen werden sollen. Vielleicht könnt Ihr mir dabei noch helfen, bitte?

Grüße
Franz


Bild


Betrifft: AW: bin schon weiter...
von: RainerW
Geschrieben am: 05.10.2003 17:42:59

Hallo Franz,

If IsNumeric(NrZel) And Not NrZel = "" And Len(NrZel) = 3 Then

Gruß
Rainer


Bild


Betrifft: AW: bin schon weiter...
von: Franz W.
Geschrieben am: 05.10.2003 17:50:03

Hallo Rainer,

vielen Dank für Deine Hilfe, an sowas hab ich ja noch gar nicht gedacht. Aber jetzt gibts ein Problem: Deine Lösung klappt, wenn tatsächlich 3-stellige Zahlen in der ZElle stehen - und hier hab ich glaub ich mein Problem vorher nicht gut genug beschrieben, sorry.

Es stehen nämlich auch 1- oder 2-stellige Zahlen in den Zellen, und die Zellen sind als 3-stellig formatiert für die Anzeige. Deshalb habe ich es so versucht:

If Format(IsNumeric(NrZel), "000") And Not NrZel = "" Then

Aber da reagiert er gar nicht drauf. Gibt es dafür auch noch eine Idee?

Danke schon mal und Grüße
Franz


Bild


Betrifft: AW: bin schon weiter...
von: RainerW
Geschrieben am: 05.10.2003 17:58:38

Hallo Rainer,
wenn ich dich richtig verstehe, soll der Code für max 3 stellig sein
also auch für 1 oder 2 Ziffern.

dann:
If IsNumeric(NrZel) And Not NrZel = "" And Len(NrZel) <= 3 Then

Gruß
Rainer


Bild


Betrifft: AW: bin schon weiter...
von: Franz W.
Geschrieben am: 05.10.2003 18:34:16

Hallo Rainer,

super! Genau so ist es richtig. Vielen Dank!

Falls Du noch magst: gibt es eine Erklärung dafür, warum meine Format...-Variante nicht greift?

Danke und Grüße
Franz


Bild


Betrifft: AW: bin schon weiter...
von: PeterW
Geschrieben am: 05.10.2003 18:06:48

Hallo Franz,

meinst du mit dreistellige Zahlen alle zwischen 100 und 999 (also >=100 UND <= 999)?

Gruß
Peter


Bild


Betrifft: AW: bin schon weiter...
von: Franz W.
Geschrieben am: 05.10.2003 18:35:13

Hallo Peter,

es geht um alles von 1 - 999.

Vielen Dank und Grüße
Franz


Bild


Betrifft: AW: bin schon weiter...
von: PeterW
Geschrieben am: 05.10.2003 18:39:03

Hallo Franz,

hat sich zwar erledigt aber warum machst du das dann nicht direkt über den Wert?

If IsNumeric(NrZel) And Not NrZel = "" And NrZel <= 999 Then

Gruß
Peter


Bild


Betrifft: AW: bin schon weiter...
von: Franz W.
Geschrieben am: 05.10.2003 18:43:21

Hallo Peter,

freut mich trotzdem noch eine Alternative kennengelernt zu haben (hab mir schon gedacht/vielleicht ein klein bisschen erwartet, von Dir noch was Neues zu kriegen...). Und Du hast wie immer mal wieder recht: warum nicht die einfachste. Vielen Dank dafür.

Grüße
Franz


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Schriftfarbe ändern"