Вы можете определить формулу для одной ячейки (A2), написав ее в виде текста в другой ячейке (A1 ), используя VBA. Основная идея такова:
Range("A2").Formula = "=" & Range("A1").Value
Имейте в виду, что перед формулой в A1 не следует писать «=», иначе формула будет оценена там. Хитрость в том, что при этом формула будет обрабатываться как обычный текст. Поэтому при назначении его из текста в A1 необходимо указать «=» перед формулой.
[EDIT1] Я неправильно понял ваш вопрос. Вот еще одна попытка:
Чтобы иметь возможность использовать «переменные», которые вы предоставляете в той же ячейке в качестве результата, вам необходимо:
У меня нет превосходства здесь, чтобы попробовать это, но я думаю, вы понимаете, о чем я.
[EDIT2] Еще одна попытка, согласно вашему комментарию:
Вы можете сэкономить много хлопот, если будете использовать следующий подход:
Допустим, у вас есть годы по вертикали (сверху вниз) и месяцы по горизонтали (слева направо)
- Напишите год "цифры" слева от матрицы
- Напишите «цифры» месяца над матрицей
- Теперь вы можете написать формулу в одной ячейке и просто "перетащить" ее в другие ячейки,
вам просто нужно «зафиксировать» строку для месяца и столбец для года (это можно сделать, написав знак $ перед знаком, который вы хотите зафиксировать
Надеюсь, это то, что вы хотели.