Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2013, 20:55   #1
ILF_ollie
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 21
По умолчанию Макрос не позволяет копировать слишком длинную формулу

Записал макрос, вставляющий в ячейку формулу.
А он не работает, поскольку формула очень длинная.

Суть формулы в том, что она содержит ссылки на диапазоны на страницах, которые должны быть добавлены в будущем, поэтому сейчас в книге сохранить формулу не получается (появляется ошибка, что такого диапазона нет)

А в сам макрос формула не помещается из-за того, что очень длинная.

Подскажите, как можно это пофиксить?
ILF_ollie вне форума Ответить с цитированием
Старый 11.04.2013, 21:02   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
А в сам макрос формула не помещается из-за того, что очень длинная.
неужели? в текстовую переменную не помещается?
длина формулы больше 2 миллиардов символов?


нужен пример файла, с примером, что куда должно вставляться.
EducatedFool вне форума Ответить с цитированием
Старый 12.04.2013, 10:49   #3
ILF_ollie
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 21
По умолчанию

Файл пока приложить не могу из-за настроек доступа на работе.

Я делаю не через текстовую переменную, а напрямую:К

Range("D17").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(IF..."

И длины строки не хватает для того чтобы поместилась вся формула.

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
неужели? в текстовую переменную не помещается?
длина формулы больше 2 миллиардов символов?


нужен пример файла, с примером, что куда должно вставляться.
ILF_ollie вне форума Ответить с цитированием
Старый 12.04.2013, 11:02   #4
BigDaddy
Пользователь
 
Регистрация: 23.11.2012
Сообщений: 45
По умолчанию

может быть я не совсем понимаю,
но возможно для переноса строки в макросе нужно использовать нижнее подчеркивание? вот это _

вот у вас идет формула

ActiveCell.FormulaR1C1 = _

_ - и есть перенос строки

не?
лучше день потерять, а потом за пять минут долететь
BigDaddy вне форума Ответить с цитированием
Старый 12.04.2013, 12:22   #5
BigDaddy
Пользователь
 
Регистрация: 23.11.2012
Сообщений: 45
По умолчанию

вот например, тот же самый макрос, только разбит на строки (как будто длинная формула)

оба маркоса работают одинаково:

Код:
Sub Macro4()
'
' Macro4 Macro
'

'
    ActiveCell.FormulaR1C1 = "=IF(RC[-1]>RC[-2],RC[-1],RC[-2])"
    Range("AJ345").Select
End Sub
Код:
Sub Macro5()
    
    ActiveCell.FormulaR1C1 = _
    "=IF(RC[-" & _
    "1]>RC[-2]" & _
    ",RC[-1],R" & _
    "C[-2])"
    Range("AJ345").Select
End Sub
лучше день потерять, а потом за пять минут долететь
BigDaddy вне форума Ответить с цитированием
Старый 12.04.2013, 12:24   #6
BigDaddy
Пользователь
 
Регистрация: 23.11.2012
Сообщений: 45
По умолчанию

брать в кавычке кусок формулы
и добавлять & _
лучше день потерять, а потом за пять минут долететь
BigDaddy вне форума Ответить с цитированием
Старый 17.04.2013, 15:17   #7
ILF_ollie
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 21
По умолчанию

Спасибо, все работает!
ILF_ollie вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написать макрос копировать и вставить nur91m Microsoft Office Word 2 20.10.2011 22:47
макрос не позволяет отменять действия Kraimon Microsoft Office Excel 1 19.08.2011 15:19
Макрос: найти все, копировать entscheiden Microsoft Office Word 6 29.03.2011 23:54
Задача - не получается написать длинную формулу apilsinko Microsoft Office Excel 3 24.12.2009 10:51
Сохранить в файле слишком длинную запись Virga Общие вопросы Delphi 12 04.08.2009 01:39