web-dev-qa-db-fra.com

Code VBA Excel pour sélectionner des cellules non vides

Dans Excel, nous allons avoir des données en B2 à B7 et C2 à C7. Dans VBA, je peux écrire une macro pour la sélectionner:

Sub Macro1()
Range("B2:C7").Select
End Sub

Comment réécrire le code pour qu'il sélectionne automatiquement les cellules non vides? Si je supprime les données des cellules B7 et C7, je souhaite que la macro ne sélectionne que la plage (B2: C6) Et si j'ajoute des données aux cellules B8 et C8, je souhaite que la macro choisisse la plage (B2: C8).

Mes données démarreront toujours un B2, C2 et je n'aurai pas d'espace libre entre les données.

4
k.dkhk

Utilisez la fonction 'SpecialCells' de l'objet Selection

Sub Macro1()
    Range("B2:C7").Select
    For Each self in Selection.SpecialCells(xlCellTypeConstants)
        Debug.Print(self)
    Next
End Sub
0
Maksim Sych