Преобразование между номерами столбцов и ссылками на столбцы с помощью VBA в Microsoft Excel
В этой статье мы создадим две пользовательские функции: одну для преобразования номеров столбцов в ссылки на столбцы и другую функцию для преобразования ссылок на столбцы в номера столбцов.
Необработанные данные для этого примера состоят из двух выборочных данных, одна выборка данных содержит случайные номера столбцов, а вторая выборка данных содержит случайные ссылки на столбцы.
Мы создали две пользовательские функции «ColNoToColRef» и «ColRefToColNo». Функция ColNoToColRef используется для преобразования номеров столбцов в ссылки на столбцы. На вход принимаются целочисленные значения.
Точно так же функция ColRefToColNo используется для преобразования ссылок на столбцы в номера столбцов.
Объяснение кода
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]