La conversione tra i numeri delle colonne e riferimenti di colonna che utilizzano VBA in Microsoft Excel
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.
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.
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]