Сумма по колонке
MarinaSergeevna
Дата: Пятница, 01.08.2014, 11:13 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Надо найти сумму по колонке по нажатию кнопки, но проблема в том,что размер колонки будет известен только перед нажатием. Т.е. может быть 10 или 15 ячеек. Пробовала [vba]Код
ActiveCell.FormulaR1C1 = "=SUM(R[-18]C:R[-2]C)"
[/vba] но проблема в том,что конечная ячейка определяется от активной,а начальная всегда постоянна. Пробовала задать как I8, но сами понимаете такой вариант не прокатывает. Что можно сделать?
Надо найти сумму по колонке по нажатию кнопки, но проблема в том,что размер колонки будет известен только перед нажатием. Т.е. может быть 10 или 15 ячеек. Пробовала [vba]Код
ActiveCell.FormulaR1C1 = "=SUM(R[-18]C:R[-2]C)"
[/vba] но проблема в том,что конечная ячейка определяется от активной,а начальная всегда постоянна. Пробовала задать как I8, но сами понимаете такой вариант не прокатывает. Что можно сделать? MarinaSergeevna
К сообщению приложен файл:
_3_.xlsm
(23.7 Kb)
Сообщение отредактировал MarinaSergeevna - Пятница, 01.08.2014, 16:09
Ответить
Сообщение Надо найти сумму по колонке по нажатию кнопки, но проблема в том,что размер колонки будет известен только перед нажатием. Т.е. может быть 10 или 15 ячеек. Пробовала [vba]Код
ActiveCell.FormulaR1C1 = "=SUM(R[-18]C:R[-2]C)"
[/vba] но проблема в том,что конечная ячейка определяется от активной,а начальная всегда постоянна. Пробовала задать как I8, но сами понимаете такой вариант не прокатывает. Что можно сделать? Автор - MarinaSergeevna Дата добавления - 01.08.2014 в 11:13
Rioran
Дата: Пятница, 01.08.2014, 11:55 |
Сообщение № 2
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация:
290
±
Замечаний:
0% ±
Excel 2013
MarinaSergeevna , здравствуйте. Вводите переменную, которая посчитает количество строк в колонке. И эту переменную уже прописывайте в формуле.
MarinaSergeevna , здравствуйте. Вводите переменную, которая посчитает количество строк в колонке. И эту переменную уже прописывайте в формуле.Rioran
Роман, Москва, voronov_rv@mail.ru Яндекс-Деньги: 41001312674279
Ответить
Сообщение MarinaSergeevna , здравствуйте. Вводите переменную, которая посчитает количество строк в колонке. И эту переменную уже прописывайте в формуле.Автор - Rioran Дата добавления - 01.08.2014 в 11:55
MarinaSergeevna
Дата: Пятница, 01.08.2014, 13:00 |
Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Где прописывать? и как в этом случае тогда формулу записать?
Где прописывать? и как в этом случае тогда формулу записать? MarinaSergeevna
Ответить
Сообщение Где прописывать? и как в этом случае тогда формулу записать? Автор - MarinaSergeevna Дата добавления - 01.08.2014 в 13:00
Rioran
Дата: Пятница, 01.08.2014, 14:14 |
Сообщение № 4
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация:
290
±
Замечаний:
0% ±
Excel 2013
MarinaSergeevna , Вам нужно будет задать поисковику два вопроса: 1). Как вводить переменные? 2). Как посчитать количество строк? А в формуле Вы то, что в кавычках, режете на куски с помощью знака & и где надо вставляете переменную: [vba]Код
ActiveCell.FormulaR1C1 = "Кусок1" & ВашаПеременная & "Кусок2"
[/vba]
MarinaSergeevna , Вам нужно будет задать поисковику два вопроса: 1). Как вводить переменные? 2). Как посчитать количество строк? А в формуле Вы то, что в кавычках, режете на куски с помощью знака & и где надо вставляете переменную: [vba]Код
ActiveCell.FormulaR1C1 = "Кусок1" & ВашаПеременная & "Кусок2"
[/vba]Rioran
Роман, Москва, voronov_rv@mail.ru Яндекс-Деньги: 41001312674279
Сообщение отредактировал Rioran - Пятница, 01.08.2014, 14:15
Ответить
Сообщение MarinaSergeevna , Вам нужно будет задать поисковику два вопроса: 1). Как вводить переменные? 2). Как посчитать количество строк? А в формуле Вы то, что в кавычках, режете на куски с помощью знака & и где надо вставляете переменную: [vba]Код
ActiveCell.FormulaR1C1 = "Кусок1" & ВашаПеременная & "Кусок2"
[/vba]Автор - Rioran Дата добавления - 01.08.2014 в 14:14
MarinaSergeevna
Дата: Пятница, 01.08.2014, 15:46 |
Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
сделала как поняла,в итоге ошибка...что не так? [vba]Код
Formula = "=I8" MsgBox Application.ConvertFormula( _ Formula:=Formula, _ fromReferenceStyle:=xlA1, _ toReferenceStyle:=xlR1C1) Formula = Application.ConvertFormula( _ Formula:=Formula, _ fromReferenceStyle:=xlA1, _ toReferenceStyle:=xlR1C1)
[/vba] ActiveCell.FormulaR1C1 = "=SUM(" & Formula & ":R[-2]C)"
сделала как поняла,в итоге ошибка...что не так? [vba]Код
Formula = "=I8" MsgBox Application.ConvertFormula( _ Formula:=Formula, _ fromReferenceStyle:=xlA1, _ toReferenceStyle:=xlR1C1) Formula = Application.ConvertFormula( _ Formula:=Formula, _ fromReferenceStyle:=xlA1, _ toReferenceStyle:=xlR1C1)
[/vba] ActiveCell.FormulaR1C1 = "=SUM(" & Formula & ":R[-2]C)" MarinaSergeevna
Сообщение отредактировал MarinaSergeevna - Пятница, 01.08.2014, 16:09
Ответить
Сообщение сделала как поняла,в итоге ошибка...что не так? [vba]Код
Formula = "=I8" MsgBox Application.ConvertFormula( _ Formula:=Formula, _ fromReferenceStyle:=xlA1, _ toReferenceStyle:=xlR1C1) Formula = Application.ConvertFormula( _ Formula:=Formula, _ fromReferenceStyle:=xlA1, _ toReferenceStyle:=xlR1C1)
[/vba] ActiveCell.FormulaR1C1 = "=SUM(" & Formula & ":R[-2]C)" Автор - MarinaSergeevna Дата добавления - 01.08.2014 в 15:46
Rioran
Дата: Пятница, 01.08.2014, 15:59 |
Сообщение № 6
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация:
290
±
Замечаний:
0% ±
Excel 2013
MarinaSergeevna , а какие ячейки на каком листе Вы выделяете перед использованием макроса? Какую именно ошибку Вам выдаёт и в какой момент? Что должна считать переменная "Formula"? И интересно, кто спонсировал Вас столь... э... неординарными VBA методами. Впрочем, последний вопрос не так важен. Если Вам нужно регулировать количество строк в формуле, то правильное "сшивание" больше будет похоже на следующее: [vba]Код
ActiveCell.FormulaR1C1 = "=SUM(R[-" & Formula & "]C:R[-2]C)"
[/vba] То есть переменной замещаем цифру 18, а остальное обязательно на своих местах. Просьба в соответствии с правилами форума оформить все Ваши VBA-коды тегами. При редактировании сообщения выделяете строки с кодом и жмёте # на панели редактирования.
MarinaSergeevna , а какие ячейки на каком листе Вы выделяете перед использованием макроса? Какую именно ошибку Вам выдаёт и в какой момент? Что должна считать переменная "Formula"? И интересно, кто спонсировал Вас столь... э... неординарными VBA методами. Впрочем, последний вопрос не так важен. Если Вам нужно регулировать количество строк в формуле, то правильное "сшивание" больше будет похоже на следующее: [vba]Код
ActiveCell.FormulaR1C1 = "=SUM(R[-" & Formula & "]C:R[-2]C)"
[/vba] То есть переменной замещаем цифру 18, а остальное обязательно на своих местах. Просьба в соответствии с правилами форума оформить все Ваши VBA-коды тегами. При редактировании сообщения выделяете строки с кодом и жмёте # на панели редактирования.Rioran
Роман, Москва, voronov_rv@mail.ru Яндекс-Деньги: 41001312674279
Сообщение отредактировал Rioran - Пятница, 01.08.2014, 16:01
Ответить
Сообщение MarinaSergeevna , а какие ячейки на каком листе Вы выделяете перед использованием макроса? Какую именно ошибку Вам выдаёт и в какой момент? Что должна считать переменная "Formula"? И интересно, кто спонсировал Вас столь... э... неординарными VBA методами. Впрочем, последний вопрос не так важен. Если Вам нужно регулировать количество строк в формуле, то правильное "сшивание" больше будет похоже на следующее: [vba]Код
ActiveCell.FormulaR1C1 = "=SUM(R[-" & Formula & "]C:R[-2]C)"
[/vba] То есть переменной замещаем цифру 18, а остальное обязательно на своих местах. Просьба в соответствии с правилами форума оформить все Ваши VBA-коды тегами. При редактировании сообщения выделяете строки с кодом и жмёте # на панели редактирования.Автор - Rioran Дата добавления - 01.08.2014 в 15:59
MarinaSergeevna
Дата: Пятница, 01.08.2014, 16:10 |
Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
не цифра 18, а ячейка I8. Мне надо посчитать сумму от этой ячейки до активной. В столбик)
не цифра 18, а ячейка I8. Мне надо посчитать сумму от этой ячейки до активной. В столбик) MarinaSergeevna
Ответить
Сообщение не цифра 18, а ячейка I8. Мне надо посчитать сумму от этой ячейки до активной. В столбик) Автор - MarinaSergeevna Дата добавления - 01.08.2014 в 16:10
Rioran
Дата: Пятница, 01.08.2014, 16:46 |
Сообщение № 8
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация:
290
±
Замечаний:
0% ±
Excel 2013
Вот Вам два решения. Первое посчитает сумму без формул: [vba]Код
Sub Magic_Value() Dim X As Double 'Для суммирования Dim Z As Long 'Для перебора строк для рассчёта For Z = 8 To ActiveCell.Row X = X + Cells(Z, 9).Value Next Z ActiveCell.Value = X End Sub
[/vba] Второй вписывает формулу в активную ячейку: [vba]Код
Sub Magic_Formula() ActiveCell.FormulaR1C1 = "=SUM(R8C9:R" & (ActiveCell.Row - 1) & "C9)" End Sub
[/vba] Речь, разумеется, о втором листе.
Вот Вам два решения. Первое посчитает сумму без формул: [vba]Код
Sub Magic_Value() Dim X As Double 'Для суммирования Dim Z As Long 'Для перебора строк для рассчёта For Z = 8 To ActiveCell.Row X = X + Cells(Z, 9).Value Next Z ActiveCell.Value = X End Sub
[/vba] Второй вписывает формулу в активную ячейку: [vba]Код
Sub Magic_Formula() ActiveCell.FormulaR1C1 = "=SUM(R8C9:R" & (ActiveCell.Row - 1) & "C9)" End Sub
[/vba] Речь, разумеется, о втором листе. Rioran
Роман, Москва, voronov_rv@mail.ru Яндекс-Деньги: 41001312674279
Сообщение отредактировал Rioran - Пятница, 01.08.2014, 16:48
Ответить
Сообщение Вот Вам два решения. Первое посчитает сумму без формул: [vba]Код
Sub Magic_Value() Dim X As Double 'Для суммирования Dim Z As Long 'Для перебора строк для рассчёта For Z = 8 To ActiveCell.Row X = X + Cells(Z, 9).Value Next Z ActiveCell.Value = X End Sub
[/vba] Второй вписывает формулу в активную ячейку: [vba]Код
Sub Magic_Formula() ActiveCell.FormulaR1C1 = "=SUM(R8C9:R" & (ActiveCell.Row - 1) & "C9)" End Sub
[/vba] Речь, разумеется, о втором листе. Автор - Rioran Дата добавления - 01.08.2014 в 16:46
MarinaSergeevna
Дата: Пятница, 01.08.2014, 16:49 |
Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
спасибо,вторая работает,первую не проверяла
Ответить
Сообщение спасибо,вторая работает,первую не проверяла Автор - MarinaSergeevna Дата добавления - 01.08.2014 в 16:49