2009-12-10 3 views

Répondre

3

Untested:

Dim row As Long 
Dim col As Long 

col = 4  ' Whatever column you want to check 

For row = 1 To 100  ' How many rows you want to check 
    If Not IsNumeric(Cells(row, col).Value) Then 
     ' Do whatever you want to do in this case 
    End If 
Next row 

Si vous préciser ce que vous entendez par « Insérer une cellule vide à la ligne en question », je vais essayer de mettre à jour ma solution.

+0

TNX, pour insérer une nouvelle cellule vide à l'avant de non numérique un – Tom

+0

Donc, vous voulez déplacer la cellule non-numérique d'une position à droite et insérez une cellule vide à sa place? Ou juste effacer la cellule à gauche de la non-numérique? – Heinzi

+1

Astuce: Entier est trop petit pour être utilisé avec un compteur de lignes. Essayez d'utiliser Long pour éviter les débordements. – Oorang

0

Vous pouvez vérifier même vérifier avec un forumla que la colonne ne contient pas aucun numéros ne

=COUNTBLANK(AAA:AAA)-COUNTBLANK(B:B)=COUNT(B:B) 

où je suppose que la colonne AAA: AAA est vide.

0

Un mélange des autres réponses pour des données plus importantes. Il vérifie d'abord si la colonne n'a pas de nombres et, dans le cas contraire, vérifie où.

Dim row As Long 
Dim LastRow As Long 
LastRow = Range("B" & Rows.Count).End(xlUp).Row 'if you want the colomn B 

If Excel.WorksheetFunction.CountBlank(Range("AAA:AAA")) - Excel.WorksheetFunction.CountBlank(Range("B:B")) = Excel.WorksheetFunction.Count(Range("B:B")) Then 
For row = 1 To LastRow  

    If Not IsNumeric(Range("B" & row).Value) Then 
     ' Do whatever you want to do in this case 
    End If 
Next row 
End if 
Questions connexes