Новости:

Теперь на форум можно залогиниться / зарегистрироваться с помощью ВКонтакте. Уже существующие пользователи могут связать свою учетную запись с аккаунтом ВКонтакте одним кликом в профиле пользователя http://forum.msexcel.ru/index.php?action=profile;area=account

Главное меню

Замена в формуле буквенного значения столбца, если известен только его номер

Автор AlWin, 16.05.2014, 16:12

« назад - далее »

AlWin

В ячейке "A1" содержится формула: =СУММПРОИЗВ(D1:D3;BH1:BH3)/СУММ(BH1:BH3)
Для замены строки номер 3 на номер 5 макросом можно воспользоваться:
n=3, m=5
Range("A1").Replace What:=n, Replacement:=m

А как можно выполнить, например замену столбца "BH" на столбец "AO", если буквенное обозначение заменяемых столбцов заранее неизвестно (постоянно меняется), но точно известно, что в данный момент столбец n= 60 ("BH") требуется поменять на столбец m= 41 ("AO")?
Помогите, пожалуйста, с кодом для макроса.

RAN

Переключить Excel в режим R1C1 и поменять номер столбца
смотрим
=СУММПРОИЗВ(R[-4]C[3]:R[-2]C[3];R[-4]C[59]:R[-2]C[59])/СУММ(R[-4]C[59]:R[-2]C[59])
меняем
=СУММПРОИЗВ(R[-4]C[3]:R[-2]C[3];R[-4]C[59]:R[-2]C[65])/СУММ(R[-4]C[59]:R[-2]C[65])
итого
=СУММПРОИЗВ(D1:D3;BH1:BN3)/СУММ(BH1:BN3)

AlWin

RAN Спасибо за ответ. Но, к сожалению, я опять неверно сформулировал вопрос. Количество строк в указанных диапазонах формулы - тоже не постоянно (от 1 до нескольких). Соответственно и сама формула переменчива и нет возможности записать в ячейку что-то типа "ActiveCell.FormulaR1C1 = ......" с использованием переменных, содержащих число. Наверное это можно решить как то с помощью Replace и строковых переменных  :-\