|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.11.2009, 09:52 | #1 |
Форумчанин
Регистрация: 30.10.2009
Сообщений: 138
|
Суммирование НЕ диапазона, а конкретный ячеейк через VBA
Здравствуйте всем!
имеется такой код: Код:
Мне нужно что-то типо такого условия: If cells(???,2) Like "*№ ИП*" Then то есть нам нужно находить выше этой строки(rFndRng) строки, в которых во втором столбце есть "№ ИП" и прибавлять их значения в пятых столбцах и результат выводить сюда:Cells(rFndRng.Row, 5) = "=SUM(R[-???]C:R[-???]C)" КАК мне организовать цикл? P.S. обратите внимание на то, что тут идёт суммирование не диапазона, а конкретных ячеек. |
23.11.2009, 10:10 | #2 |
Форумчанин
Регистрация: 30.10.2009
Сообщений: 138
|
я тут подумал может переделать так:
Код:
|
23.11.2009, 10:28 | #3 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
А у Вас искомое значение ("ИТОГО: НИОКР (бюджет затрат)") может встречаться несколько раз? Объясните подробнее, что нужно сделать.
В итоговой ячейке обязательно наличие формулы? или достаточно просто результата?
Чем шире угол зрения, тем он тупее.
|
23.11.2009, 10:38 | #4 |
Форумчанин
Регистрация: 30.10.2009
Сообщений: 138
|
1) встречается 1 раз
2) неважна формула - важен результат, поэтому я выше заменил sum на цикл, но цикл неправильно работает((точнее допереть не могу! вобщем так: Мы находим на листе строку ("ИТОГО: НИОКР (бюджет затрат)") потом ищем выше(!) этой строки строки, у которых во втором столбце имеется №ИП эти самые строки с № ИП мы в пятом столбце берём их значения и суммируем друг с другом, а результат будет тут ("ИТОГО: НИОКР (бюджет затрат)") тоже в пятом столбце! вродь подробно объяснил...вот так вот)) |
23.11.2009, 11:00 | #5 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Тогда, наверное, так:
Код:
Чем шире угол зрения, тем он тупее.
|
23.11.2009, 11:15 | #6 |
Форумчанин
Регистрация: 30.10.2009
Сообщений: 138
|
чёт ошибку выдаёт((
я вот сам сделал так: Dim rFndRng As Range Set rFndRng = ActiveSheet.UsedRange.Find("ИТОГО: НИОКР (бюджет затрат)", , xlValues, xlWhole) If rFndRng Is Nothing Then MsgBox "Отсутствует", vbInformation, "Нет данных": Exit Sub Dim i%, j% For i = 10 To rFndRng.Row If Cells(i, 2) Like "*№ ИП*" Then 'For j = i + 1 To rFndRng.Row Cells(rFndRng.Row, 5) = CStr(Cells(i, 5)) For j = i + 1 To rFndRng.Row If Cells(j, 2) Like "*№ ИП*" Then Cells(rFndRng.Row, 5) = Cells(rFndRng.Row, 5) + CStr(Cells(j, 5)) '"=SUM(R[1]C:R[" & ListBox1.ListCount & "]C)" End If Next j End If 'Cells(rFndRng.Row, 5) = Cells(rFndRng.Row, 5) + 1 Next i вроде б всё норм, прослеживал через F8 Но в какой-то момент цикл не заканчивается, а продолжается и всё портит... хотя считает норм, просто в последний момент ступливает.... |
23.11.2009, 11:23 | #7 |
Форумчанин
Регистрация: 30.10.2009
Сообщений: 138
|
ВСЁ!!! ПОЛУЧИЛОСЬ))
вот: Код:
|
23.11.2009, 11:44 | #8 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Цитата:
Чем шире угол зрения, тем он тупее.
|
|
23.11.2009, 11:49 | #9 |
Форумчанин
Регистрация: 30.10.2009
Сообщений: 138
|
эээ
я просто чайник в вба но нужно в кратчайшие сроки кое-какую работу сделать вот и в попыхах с горем попалам, половину НЕ понимая еле-еле делаю! мне тут на форуме ОХ как помогли, за что низкий поклон! а свою конечную(!) работу я сюда через недели 3-4 выложу(с липовыми данными естесственно))), полюбуетесь! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
СУММИРОВАНИЕ ЯЧЕЕК ЧЕРЕЗ ЗАДАННЫЙ ИНТЕРВАЛ | provodnikam | Microsoft Office Excel | 28 | 18.02.2015 18:20 |
Как получить в VBA номера строк выделенного диапазона? | Chelentano | Microsoft Office Excel | 10 | 04.11.2010 14:25 |
Выбор столбца через комбокс и их суммирование | Radnoy | Microsoft Office Excel | 3 | 22.11.2009 09:07 |
Расчет диапазона времени при переходе через сутки | Givasi | Microsoft Office Excel | 4 | 28.08.2009 15:24 |
VBA= сравнить 2 диапазона. | Jainy_90 | Microsoft Office Excel | 2 | 16.05.2009 22:07 |