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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2010, 07:27   #1
Ilya_L
Пользователь
 
Регистрация: 18.06.2010
Сообщений: 78
По умолчанию как вставить формулу в vba

У меня такая проблема, никогда не пользовался формулами в vba, не могу вставить..
Нужно чтобы диапазон ячеек ("2,7:100,7") имел формулу суммы трех ячеек ("2,4:2,6") ("3,4:3,6") и т.д.
Ilya_L вне форума Ответить с цитированием
Старый 18.06.2010, 08:05   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Вам нужно с помощью VBA вставить формулу в ячейку? Или просто посчитать и в ячейку поместить результат?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 18.06.2010, 08:28   #3
Ilya_L
Пользователь
 
Регистрация: 18.06.2010
Сообщений: 78
По умолчанию

вставляется таблица с данными с n строками...в 4,5 и 6 столбцах находятся числа..в этот момент 7 столбец пустой, и в него нужно вывести сумму этих строк по нажатию кнопки или вызову процедуры.. можно и формулой, и просто посчитать, чтобы посмотреть оба варианта..

Последний раз редактировалось Ilya_L; 18.06.2010 в 08:35.
Ilya_L вне форума Ответить с цитированием
Старый 18.06.2010, 08:54   #4
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

А простой вариант в ячейке "G2" формула "=СУММ(D2:F2)"
не подходит? Вставить формулу и "растянуть" на весь диапазон?
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 18.06.2010, 09:04   #5
Ilya_L
Пользователь
 
Регистрация: 18.06.2010
Сообщений: 78
По умолчанию

мне нужно через vba..
Ilya_L вне форума Ответить с цитированием
Старый 18.06.2010, 09:08   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Вариант1 - с формулами. Вариант2 - без них.
Код:
Sub Вариант1()
    Application.ScreenUpdating = False
    [G2].FormulaR1C1 = "=SUM(RC[-3]:RC[-1])"
    [G2].AutoFill Destination:=[G2:G100]
End Sub
Код:
Sub Вариант2()
    Dim i As Integer, x As Range, a(): Application.ScreenUpdating = False
    Set x = [D2:G100]: a = x.Value
    For i = LBound(a, 1) To UBound(a, 1): a(i, 4) = a(i, 1) + a(i, 2) + a(i, 3): Next
    x.Value = a
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 18.06.2010, 09:10   #7
Ilya_L
Пользователь
 
Регистрация: 18.06.2010
Сообщений: 78
По умолчанию

спасибо...
Ilya_L вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как вставить rtf(HTML) строку с помощью VBA Snark Microsoft Office Word 0 09.10.2009 10:19
Как средствами VBA сделать точную копию листа и вставить ее в конец книги? Pavel_Ine Microsoft Office Excel 13 10.06.2009 19:39
VBA. Как воткнуть переменную String в формулу? svetlana_A Microsoft Office Excel 3 26.05.2009 09:20
Вставить формулу со сдвигом на столбец kzld Microsoft Office Excel 1 27.01.2009 11:11
Вставить значение ячейки в формулу jungo Microsoft Office Excel 2 12.08.2008 15:32