Compter les colonnes dans VBA
- Compter les colonnes dans VBA
- Compter la colonne dans la plage dans VBA
-
Utiliser la méthode
Range().End
dans VBA -
Utiliser la méthode
Cells.Find()
dans VBA
Cet article discutera de deux façons de compter facilement les colonnes avec des données à l’aide de VBA dans Excel.
Compter les colonnes dans VBA
Lorsque nous avons une petite table de données avec quelques colonnes, nous pouvons facilement les compter, mais il est assez difficile pour une grande table de données de compter toutes les colonnes sans aucune erreur. En plus de cela, certaines colonnes peuvent contenir des données, tandis que certaines colonnes peuvent être complètement vides.
Ainsi, compter toutes les colonnes avec des données dans le cas d’une grande table de données est assez difficile. Maintenant, créons une feuille avec des exemples de données avec lesquelles travailler.
Nous pouvons voir les trois colonnes dans le tableau de données suivant. Pour contrôler le nombre de colonnes utilisées dans une seule feuille de calcul Excel, nous utiliserons des codes VBA.
Tout d’abord, nous ouvrons l’éditeur VBA en appuyant sur la touche ALT + F11. Après cela, créez un nouveau module à partir de Insérer > Module
.
Ensuite, créez un nouveau sous, usedColumns()
. A l’intérieur de notre nouveau sub, nous allons utiliser une boucle with
pour obtenir la plage utilisée en utilisant la méthode UsedRange
.
Après cela, nous utilisons la méthode count de columns
pour afficher le nombre de colonnes utilisées.
Exemple de code :
# VBA
Sub usedColumns()
With Sheet1.UsedRange
MsgBox "The Used Columns are: "& .Columns.Count
End With
End Sub
Enregistrez la macro et exécutez-la en appuyant sur F5 ou en cliquant sur exécuter. La boîte de dialogue Macro
apparaîtra comme indiqué ci-dessous.
Production:
Compter la colonne dans la plage dans VBA
Le code VBA suivant compte toutes les colonnes avec des données dans une plage donnée.
Créons un nouveau sous ColumnsInRange()
. Dans ce sous-menu, nous utiliserons la fonction de plage pour sélectionner et compter le nombre de colonnes dans cette plage.
Exemple de code :
# VBA
Sub ColumnsInRange()
Dim newRange As Worksheet
Set newRange = Worksheets("Sheet1")
MsgBox "The Used Columns are: " & newRange.Range("A15:D15").Columns.Count
End Sub
Production:
Utiliser la méthode Range().End
dans VBA
Nous pouvons utiliser la méthode Range().End
pour obtenir la dernière colonne utilisée dans cette plage.
Créez un nouveau sous, findLastColumn()
, et à l’intérieur de ce sous, nous utiliserons la méthode de plage End
pour trouver la dernière colonne utilisée vers le côté droit de la feuille.
# VBA
Sub findLastColumn()
Dim newRange As Integer
newRange = Range("A2").End(xlToRight).Column
MsgBox newRange
End Sub
Production:
Nous obtenons le dernier numéro de colonne dans une boîte de dialogue contextuelle, comme dans l’image ci-dessus.
Utiliser la méthode Cells.Find()
dans VBA
Nous pouvons également utiliser la méthode Range.Find
pour obtenir la dernière colonne utilisée de la feuille à l’aide du code VBA.
Vérifiez le code suivant. Dans le sous LastColumnByFind()
, nous utilisons la méthode Cells.Find()
pour trouver la dernière colonne utilisée.
Exemple de code :
# VBA
Sub LastColumnByFind()
Dim newRange As Long
newRange = Cells.Find(What:="*", _
After:=Range("A1"), _
LookAt:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Column
MsgBox "Last Used Column Number by Find Method: " & newRange
End Sub
Production: