В этой статье мы создадим две пользовательские функции: одну для преобразования номеров столбцов в ссылки на столбцы и другую функцию для преобразования ссылок на столбцы в номера столбцов.

Необработанные данные для этого примера состоят из двух выборочных данных, одна выборка данных содержит случайные номера столбцов, а вторая выборка данных содержит случайные ссылки на столбцы.

ArrowMain

Мы создали две пользовательские функции «ColNoToColRef» и «ColRefToColNo». Функция ColNoToColRef используется для преобразования номеров столбцов в ссылки на столбцы. На вход принимаются целочисленные значения.

Точно так же функция ColRefToColNo используется для преобразования ссылок на столбцы в номера столбцов.

ArrowOutput

Объяснение кода

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

Приведенный выше код используется для получения адреса указанной ячейки.

Left (ColNoToColRef, InStr (1, ColNoToColRef, «$») — 1)

Приведенный выше код используется для извлечения символа слева от символа «$».

Пожалуйста, введите код ниже

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

Если вам понравился этот блог, поделитесь им с друзьями на Facebook и Facebook.

Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]