1 votes

Rechercher du texte dans Excel ?

Comment puis-je faire en sorte que ma fonction IF renvoie un message d'erreur si AUCUN nombre n'a été saisi dans la cellule C4. Mon code ci-dessous s'exécute si vous entrez un nombre, mais il s'exécute également si la cellule C4 est vide, seulement lorsque j'entre du texte dans la cellule, le message d'erreur apparaît.

Private Sub CommandButton1_Click()
    If IsNumeric(Range("C4")) = True Then
        FinishClear
    Else
        MsgBox "Please enter Invoice number"
    End If
End Sub

2voto

Votre problème est que le IsNumeric() retourne vrai si la cellule est vide à cause de sa définition. Voir la documentation de la fonction IsNumeric() fonction aquí

Pour vérifier si une cellule est vide, vous pouvez utiliser la fonction IsEmpty() fonction. Vous pouvez voir ceci lien pour plus d'informations sur cette fonction.

Ainsi, dans votre fonction, vous devez vérifier que la cellule n'est pas vide et qu'elle contient une valeur numérique.

Private Sub CommandButton1_Click()
    If IsNumeric(Range("C4").value) And Not IsEmpty(Range("C4")) Then
        FinishClear
    Else
        MsgBox "Please enter Invoice number"
    End If
End Sub

0voto

Dave Points 25050

Le problème est que vous n'appelez pas la valeur

Range("C4") est l'objet cellule. Celui-ci possède de nombreuses propriétés, dont l'une est la valeur. En tant que tel, vous devez mettre à jour Range("C4").Value

Vous vérifiez également s'il est numérique, mais vous devez vérifier s'il est vide ou non.

Cela signifie que votre instruction if devrait être

If Range("C4").Value <> "" Then

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X