Boucle à travers la plage de cellules pour vérifier si c'est un nombre (un nombre)

Je suis à la recherche d'un moyen pour faire une boucle dans une plage de cellules et de vérifier si la cellule est un nombre ou non. Je suis conscient que les dates sont en fait des nombres et je vais être à la recherche pour le nombre de dates. Donc, disons que je veux vérifier le range ("A2:A10") et si la cellule est un nombre, ajouter 1 à mon datecount variable. Le ISNUMBER() la fonction semble être la seule à être utile si vous êtes à la recherche pour un nombre précis. Mais je suis à la recherche pour n'importe quel nombre.

Sub Main()

Dim Datecount As Integer
Datecount = 0

Range("A2").Select
For Each c In Range("2:2")
    If c.Value.IsNumber() Then
        Datecount = Datecount + 1

Next

End Sub

Ci-dessus est la chose la plus importante j'ai besoin d'aide. Si vous pouvez l'aider avec ça, super! Si vous pouvez aider avec cette partie suivante, qui serait magnifique. En gros, je voudrais vérifier si la cellule est un nombre comme ci-dessus. Mais cette fois, si il n'est pas un nombre, je le veux pour sortir de la boucle.

Dim Datecount As Integer
Datecount = 0

Range("A2").Select
For Each c In Range("2:2")
    If c.Value.IsNumber() Then
        Datecount = Datecount + 1
    ElseIf
        Exit For
    End If
Next

End Sub
  • Il n'y a pas de question dans ton post. Quel est exactement votre question?
  • Si vous souhaitez faire une boucle à travers la gamme "A2:A10", en sélectionnant "A2" n'est pas de faire quelque chose pour vous. Range ("2:2") signifie que vous êtes en boucle à travers chaque cellule de la rangée 2. Vous ne voulez pas le faire.
  • Pour la première partie, vous pouvez essayer Datecount= range("2:2").SpecialCells(xlCellTypeConstants,xlnumbers).Count. Si aucun numéro n'existe dans cette gamme, le ci-dessus renvoie une erreur il doit donc être pris au piège. Pour la deuxième partie, pour éviter le bouclage, nous avons besoin d'identifier le premier non-numérique de la cellule (l'appeler aCell) et retour aCell.column-1 (ou 0). Une idée est de vérifier la première cellule de tous les SpecialCells autres que xlNumbers et retour le minimum de la colonne parmi ces premières cellules. Pas très élégant..
InformationsquelleAutor rwbarg15 | 2013-06-24