In questo articolo, creeremo due funzioni personalizzate, una funzione per convertire i numeri di colonna in riferimenti di colonna e un’altra funzione per convertire i riferimenti di colonna in numeri di colonna.

I dati grezzi per questo esempio sono costituiti da due dati di esempio, un dato di esempio contiene numeri di colonna casuali e il secondo dati di esempio contiene riferimenti di colonna casuali.

ArrowMain

Abbiamo creato due funzioni personalizzate “ColNoToColRef” e “ColRefToColNo”. La funzione “ColNoToColRef” viene utilizzata per convertire i numeri di colonna in riferimenti di colonna. Accetta valori interi come input.

Allo stesso modo, la funzione “ColRefToColNo” viene utilizzata per convertire i riferimenti di colonna in numeri di colonna.

ArrowOutput

Spiegazione del codice

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

Il codice sopra viene utilizzato per ottenere l’indirizzo della cella specificata.

Sinistra (ColNoToColRef, InStr (1, ColNoToColRef, “$”) – 1)

Il codice sopra viene utilizzato per estrarre il carattere a sinistra del simbolo “$”.

Segui sotto per il codice

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

Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook e Facebook.

Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]