2016-02-01 2 views
0

Предположим, что я написал «a5» в B2, я бы хотел написать A1: B2, при привязке B2 к его значению ячейки, фактический результат должен быть A1: A5.считывающая ячейка как «координата ячейки» (excel)

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

+0

К сожалению, этот вопрос еще очень расплывчаты и не описано должным образом. – Maertin

+0

Вы изучали [косвенные] (https://support.office.com/en-us/article/INDIRECT-function-474b3a3a-8a26-4f44-b491-92b6306fa261)? – findwindow

ответ

1

Введите в A1 формулы: =INDIRECT(B2) Введите в В2: "А5" Введите что-нибудь в A5. Это будет отображаться в A1, как описано.

В VBA:

Function FakeIndirect(address as String) 
    FakeIndirect = Range(address).value 
End Function 
+0

thx, это работает, еще один маленький вопрос: что, если «a5» находится на листе2? Я имею в виду, что я хотел бы получить результат на листе1 при вызове массива на sheet2 ... Sheet2! A1: Sheet2! INDIRECT (Sheet2! B2), похоже, не работает (ни с круглыми скобками). –

+0

Поскольку INDIRECT просто меняет адресную строку на ссылку ячейки, вам понадобится материал, такой как A1: = SUM (INDIRECT (B2)), с «sheet2! A1: A5», введенным в B2. Теперь A1 будет суммой диапазона 2 листа A1: A5. Пожалуйста, нажмите F1-кнопку в Excel и введите косвенное значение, чтобы прочитать больше. –

Смежные вопросы