Страница: 1 |
Страница: 1 |
Вопрос: Excel VBA, вставка формулы суммирования ?
Добавлено: 01.11.05 13:53
Автор вопроса: SLV
Необходимо при открытии рабочей книги макросом вставить в рабочий лист формулу суммирования строк в одном столбце от 4 строки до последней заполненной (в идеале) или до конца столбца. Делал вот так:
Range("G2").FormulaR1C1 = "=SUM(R[2]C:R[intLastRow]C)"
в кавычках intLastRow не работает, естественно )))
Помогите кто может ...
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #1
Добавлено: 01.11.05 14:12
RTFM?
"=SUM(R[2]C:R[" & cstr(intLastRow) & "]C)"
RTFM, безусловно.
Номер ответа: 2
Автор ответа:
SLV
Вопросов: 4
Ответов: 10
Профиль | | #2
Добавлено: 01.11.05 15:27
Аааа вон оно как ))) Работает все прекрасно. Спасибо за помощь.
RTFM что такое?
Номер ответа: 3
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #3
Добавлено: 01.11.05 15:51
http://www.google.ru/search?hl=ru&q=define%3A+RTFM&lr=
Номер ответа: 4
Автор ответа:
SLV
Вопросов: 4
Ответов: 10
Профиль | | #4
Добавлено: 01.11.05 16:05
)))
Не нашел в мануалах таких тонкостей, чесно слово
Номер ответа: 5
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #5
Добавлено: 01.11.05 16:12
Конкатенация - это не тонкость.
Это для строк как сложение для чисел.
Номер ответа: 6
Автор ответа:
SLV
Вопросов: 4
Ответов: 10
Профиль | | #6
Добавлено: 01.11.05 16:30
))) не сижу я целыми днями за программированием, только при практической необходимости.
задача изменилась немного. неудобно формулу на лист выводить, нужно лишь значение вышеизложенной формулы в ячейке листа. помогайте пожалуйста.
Номер ответа: 7
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #7
Добавлено: 01.11.05 16:49
Range("G2".Value = Range("G2".Value
Номер ответа: 8
Автор ответа:
SLV
Вопросов: 4
Ответов: 10
Профиль | | #8
Добавлено: 01.11.05 16:54
понятно, при этом обновление экрана убираем и все красиво.
Спасибо большое за помощь
Номер ответа: 9
Автор ответа:
Archi
Вопросов: 1
Ответов: 1
Профиль | | #9
Добавлено: 04.11.05 12:38
Vot Vam function summirovanie diapazona cvetom
iColor = iObrazets.Interior.ColorIndex
For Each iCell In iDiapazon
If iCell.Interior.ColorIndex = iColor Then
If IsNumeric(iCell) = True Then
sumRangeColor = sumRangeColor + iCell
End If
End If
Next
End Function
Номер ответа: 10
Автор ответа:
SLV
Вопросов: 4
Ответов: 10
Профиль | | #10
Добавлено: 04.11.05 15:28
Спасибо, немного громоздко. Вариант с циклом в большой таблице отпадает.
Этот код работает быстрее:
Sub ReCalculate()
Dim intLastRow As Integer
intLastRow = Worksheets("buyers".Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
With Worksheets("A"
.Range("g2".FormulaR1C1 = "=SUM(R[2]C:R[" & CStr(intLastRow) & "]C)"
.Range("g2".Value = .Range("g2".Value
("i2".Value
End With
End Sub
Номер ответа: 11
Автор ответа:
SLV
Вопросов: 4
Ответов: 10
Профиль | | #11
Добавлено: 04.11.05 15:31
Sub ReCalculate()
Dim intLastRow As Integer
intLastRow = Worksheets("buyers".Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
With Worksheets("buyers"
.Range("g2".FormulaR1C1 = "=SUM(R[2]C:R[" & CStr(intLastRow) & "]C)"
.Range("g2".Value = .Range("g2".Value
End With
End Sub