Преобразовать ячейки (1,1) в «А1» и наоборот

53

Я работаю над генератором рабочего листа в Excel 2007. У меня есть определенный макет, который я должен соблюдать, и мне часто приходится форматировать ячейки на основе ввода. Поскольку генератор является динамическим, мне приходится вычислять все типы диапазонов, объединять ячейки и т.д.

Как я могу преобразовать значения, подобные этому?

Cells(1,1) в A1 и наоборот

  • 4
    Вы уверены, что вам нужно сделать это? Я уверен, что хотел бы увидеть пример, в котором необходимо сделать что-то подобное.
  • 1
    @ Жан-Франсуа Корбетт - я перебираю свой лист (в макросе) с координатами, но я хочу создать уравнения в удобном для человека формате «А1».
Показать ещё 1 комментарий
Теги:
excel-vba
excel
cell

2 ответа

88
Лучший ответ

Свойство Адрес ячейки может получить это для вас:

MsgBox Cells(1, 1).Address(RowAbsolute:=False, ColumnAbsolute:=False)

возвращает A1.

Другой способ можно выполнить с помощью свойств Row и Column Range:

MsgBox Range("A1").Row & ", " & Range("A1").Column

возвращает 1,1.

  • 1
    Thx. Это именно то, что мне было нужно.
-1

Что делать, если вы хотите использовать его в цикле? Я попробовал следующее, но это не сработало. Я не знаю, как динамически отображать диапазон.

Dim i As Integer
For i = 2 To 9999
    Cells(i, 26).Value = Range(Cells(i, 1)).MergeArea.Cells(1, 1).Value
Next i

Ещё вопросы

Сообщество Overcoder
Наверх
Меню