powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вставка формулы в Excel
13 сообщений из 13, страница 1 из 1
Вставка формулы в Excel
    #34129210
Фотография Evgeshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему на работает след макрос:

Код: plaintext
1.
TotalFormula = "=R[-30]C+R[-15]C+R[-7]C"
Application.ActiveWorkbook.ActiveSheet.Cells(I, BegColToPaste +  4 ).FormulaR1C1 = TotalFormula
...
Рейтинг: 0 / 0
Вставка формулы в Excel
    #34129326
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может ссылка на несуществующий диапазон? например R[-30] дает не положительное число..
...
Рейтинг: 0 / 0
Вставка формулы в Excel
    #34129391
Фотография Evgeshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vbaproможет ссылка на несуществующий диапазон? например R[-30] дает не положительное число..

Положительное число дает:

Код: plaintext
Application.ActiveWorkbook.ActiveSheet.Cells( 38 ,  5 ).FormulaR1C1 = TotalFormula
...
Рейтинг: 0 / 0
Вставка формулы в Excel
    #34129476
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
TotalFormula = "=R[-30]C+R[-15]C+R[-7]C"
Application.ActiveWorkbook.ActiveSheet.Cells( 31 ,  31 ).FormulaR1C1 = TotalFormula
проверил работает
I, BegColToPaste - правильные цифры?
Какую ошибку выдаёт?
...
Рейтинг: 0 / 0
Вставка формулы в Excel
    #34129498
Фотография Evgeshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkodor
Код: plaintext
1.
TotalFormula = "=R[-30]C+R[-15]C+R[-7]C"
Application.ActiveWorkbook.ActiveSheet.Cells( 31 ,  31 ).FormulaR1C1 = TotalFormula
проверил работает
I, BegColToPaste - правильные цифры?
Какую ошибку выдаёт?


Спасибо что откликнулись ! Уже заработало, я видимо где-то неправильно переменную написал, а VBA глотает все подряд переменные даже без обновления. Перебил по всей процедуре переменную TotalFormula и все заработало. Выдавало Object Defined Error
...
Рейтинг: 0 / 0
Вставка формулы в Excel
    #34129573
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А мой совет такой
Worksheets("Sheet1").range("A31").value= Worksheets("Sheet1").range("B31").value+Worksheets("Sheet1").range("C31").value-Worksheets("Sheet1").range("D31").value
Но если честно если ты используеш 65536 строк то итоговую сумму вставь в начале таблицы потому что лучше всего так
...
Рейтинг: 0 / 0
Вставка формулы в Excel
    #34129683
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ser Artur - прав
нет смысла загружать лист формулами (если знаешь VBA)
Код: plaintext
1.
2.
With Worksheets("Sheet1")
     .Range("A31").Value = .Range("B31").Value + .Range("C31").Value - .Range("D31").Value
End With
Код: plaintext
1.
2.
With ActiveWorkbook.ActiveSheet
    .Cells( 31 ,  1 ).Value = .Range( 31 ,  2 ).Value + .Range( 31 ,  3 ).Value - .Range( 31 ,  4 ).Value
End With
практика показывает использование "итоговой суммы" в начале табл избавляет от многих проблем.
...
Рейтинг: 0 / 0
Вставка формулы в Excel
    #34129792
Фотография Evgeshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нужно туда забить именно формулу, которая у меня формируется динамически в цикле!
...
Рейтинг: 0 / 0
Вставка формулы в Excel
    #34130354
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkodorSer Artur - прав
нет смысла загружать лист формулами (если знаешь VBA)

Категорически не согласен. Вдруг в формуле ошибка? Всегда можно посмотреть каким образом получилось то или иное значение. А иногда, если человек не в теме или первый раз видит таблицу, понять откуда взялось посчитанное в VBA значение и его смысл очень трудно. А так, смотришь формулу и соображаешь.
...
Рейтинг: 0 / 0
Вставка формулы в Excel
    #34130409
Фотография Evgeshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если значения в листе корректировать надо?!! :)
...
Рейтинг: 0 / 0
Вставка формулы в Excel
    #34130616
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
k-nikeКатегорически не согласен. Вдруг в формуле ошибка? Всегда можно посмотреть каким образом получилось то или иное значение. А иногда, если человек не в теме или первый раз видит таблицу, понять откуда взялось посчитанное в VBA значение и его смысл очень трудно. А так, смотришь формулу и соображаешь.

Формулы, которые прописывают в VBA, изначально пишут без ошибок (точнее при тестировании все ошибки выявляются), человека не в теме надо гнать в шею (чтоб дров не наломал), а на больших таблицах (размер файла, и вероятность крякнуться файлу) VBA однозначно оправдывается, и еще, если данные в таблицу постоянно добавляются (новые строки), соответственно каждый раз растягивать формулы, хм..., я бы не стал.
...
Рейтинг: 0 / 0
Вставка формулы в Excel
    #34131302
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Evgeshkaа VBA глотает все подряд переменные даже без обновления.А ты пиши в начале модуля волшебное слово Option Explicit и волосы будут шелковистыми
...
Рейтинг: 0 / 0
Вставка формулы в Excel
    #34131797
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeshkaА если значения в листе корректировать надо?!! :)
Если вы мне, то что мешает подправить формулу или вообще вместо нее тупо вбить нужное значение?
vkodorФормулы, которые прописывают в VBA, изначально пишут без ошибок (точнее при тестировании все ошибки выявляются)
Согласен. Только тестирование может выявить не все ошибки. Например, деление на ноль.
vkodorчеловека не в теме надо гнать в шею (чтоб дров не наломал)
Тут как вы заблуждаетесь. Человек не в теме может быть новым сотрудником, которому нужно что-то объяснять и показывать. Человек не в теме может быть другим форумчанином, который решил помочь другому форумчанину разобраться в его проблеме. Например, скачайте этот файл и попробуйте понять откуда берутся первый цифры на листе Report в столбцах E и F. Я хоть и был "основоположником" данной проги за минуту не смог этого понять, поэтому просто забил.
А еще формулы - это удобство редактирования. Есть к примеру счет, в котором есть кол-ва, цена, сумма и общая сумма. Мне надо побыстрому подправить цену или кол-во. В варианте с формулами у меня все сразу пересчитается, с макросами - нет, либо нужно писать еще один макрос, который будет что-то пересчитывать при изменении данных на листе. Но это бестолковая работа.
vkodorа на больших таблицах (размер файла, и вероятность крякнуться файлу) VBA однозначно оправдывается, и еще, если данные в таблицу постоянно добавляются (новые строки), соответственно каждый раз растягивать формулы, хм..., я бы не стал.
Согласен. У всего есть свои плюсы и минусы. Поэтому нужно каждый раз с умом подходить к выбору того как будет выглядеть итоговой отчет. Я ж не утверждаю, что вариант с формулами самый лучший.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вставка формулы в Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]