Dans cet article, nous allons créer deux fonctions personnalisées, une fonction pour convertir les numéros de colonne en références de colonne et une autre fonction pour convertir les références de colonne en numéros de colonne.

Les données brutes de cet exemple se composent de deux exemples de données, un exemple de données contient des numéros de colonne aléatoires et le second exemple de données contient des références de colonne aléatoires.

ArrowMain

Nous avons créé deux fonctions personnalisées «ColNoToColRef» et «ColRefToColNo». La fonction «ColNoToColRef» est utilisée pour convertir les numéros de colonne en références de colonne. Il prend des valeurs entières comme entrée.

De même, la fonction «ColRefToColNo» est utilisée pour convertir les références de colonne en numéros de colonne.

ArrowOutput

Explication du code

Cellules (1, ColNo) .Address (True, False, xlA1)

Le code ci-dessus est utilisé pour obtenir l’adresse de la cellule spécifiée.

Gauche (ColNoToColRef, InStr (1, ColNoToColRef, « $ ») – 1)

Le code ci-dessus est utilisé pour extraire le caractère à gauche du symbole «$».

Veuillez suivre ci-dessous pour le code

Option Explicit

Function ColNoToColRef(ColNo As Long) As String





If ColNo < 1 Or ColNo > Columns.Count Then



ColNoToColRef = "Invalid input value"



Else



'Finding the address of cell in the first row based on the specified column number

ColNoToColRef = Cells(1, ColNo).Address(True, False, xlA1)



'Extracting the column name from the address

ColNoToColRef = Left(ColNoToColRef, InStr(1, ColNoToColRef, "$") - 1)



End If



End Function

Function ColRefToColNo(ColRef As String)

Dim Rng As Range



On Error GoTo LastPart



'Assigning cell in the first row of the specified column reference as range

Set Rng = Range(ColRef & "1")



'Getting the column number of the specified range

ColRefToColNo = Rng.Column



Exit Function



LastPart:

ColRefToColNo = "Invalid input value"



End Function

Si vous avez aimé ce blog, partagez-le avec vos amis sur Facebook et Facebook.

Nous serions ravis de vous entendre, faites-nous savoir comment nous pouvons améliorer notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]