Страница 1 из 1
wonderer
Каждая белая строка является суммой следующих под ней жёлтых
Как сумму проставить в белых?

Alexandr008
Функцию суммы или автосумма с выделением. Это элементарщина.
wonderer
Alexandr008 писал(а):

Функцию суммы или автосумма с выделением. Это элементарщина.



либо давай подробнее, либо не так задачу понял. Мне надо сделать так, чтобы к очень большому количеству белых строк эта автосумма применилась
wonderer
шо, никто? cry
Wanderlust
wonderer
Тут скриптовать VBA под эксель нужно, что бы очень много было быстро.
Или ручками каждую строчку, или по всему столбцу А, если в ячейке число, то по столбцу С суммировать все ячейки с числами.
Можно по форматированию (цвету) ячеек столбца С сделать - к белой прибавлять блок жёлтых.

Добавлено спустя 1 минуту 35 секунд:

Если нужно - подробней форматирование таблицы опиши, чем она заканчивается, есть ли по столбцу "С" пустые ячейки "". Минут на 15 делов. Потом в лист вставляешь скрипт и запускаешь его.
wonderer
Wanderlust писал(а):

wonderer
Тут скриптовать VBA под эксель нужно, что бы очень много было быстро.
Или ручками каждую строчку, или по всему столбцу А, если в ячейке число, то по столбцу С суммировать все ячейки с числами.
Можно по форматированию (цвету) ячеек столбца С сделать - к белой прибавлять блок жёлтых.

Добавлено спустя 1 минуту 35 секунд:

Если нужно - подробней форматирование таблицы опиши, чем она заканчивается, есть ли по столбцу "С" пустые ячейки "". Минут на 15 делов. Потом в лист вставляешь скрипт и запускаешь его.



пустые можно убрать, если важно, только на нескольких страницах есть. нулевых много, но ноль как число идет. это выгрузка из бухгалтерской программы.

много страниц с подобным, всегда разное количество желтых в белом сабтотале facepalm
Wanderlust
Нужно включить закладку "Разработчик",
слева вверху вторая кнопка "Макросы" -> создать (вводишь любое название макроса для активации кнопки "создать", затем удаляешь всё в окне)
и копируешь код:

Sub multicalcblock()
Debug.Print ("RUN multicalсblock")
Dim markblock As String
scanline = 1
'Cacl column
calcclmn = 3
'Set start position
markblock = Cells(scanline, 1)
While Not IsNumeric(markblock)
scanline = scanline + 1
markblock = Cells(scanline, 1)
Wend
'start calculation
Debug.Print ("Start at line " & scanline)
While scanline <= 65535 And (Cells(scanline, 1) <> "" Or Cells(scanline, calcclmn) <> "")
markblock = Cells(scanline, 1)
If IsNumeric(markblock) Then
clcrwcells = scanline
Cells(clcrwcells, calcclmn) = 0
Debug.Print ("Block at line " & clcrwcells)
scanline = scanline + 1
Else
Cells(clcrwcells, calcclmn) = Cells(clcrwcells, calcclmn) + Cells(scanline, calcclmn)
scanline = scanline + 1
End If
Wend
Debug.Print ("Stop at line " & scanline)
End Sub

Эта программа прокручивает по первому столбцу ячейки сстроки до первого числа, затем на этой строке в столбце 3 обнуляет ячейку, и суммирует в неё идущие ниже ячейки до следующей строки с числом в столбце 1, тогда обнуляет ячейку в столбце 3 и так же суммирует нижеследующие ячейки до числа в столбце 1; и всё повторяет пока не встретит всю пустую строку.

Потом возвращаешься на лист эксель и через кнопку "Макросы" снова заходишь в панель управления макросами, там видишь созданный макрос "multicaclblock" который можно выполнить - он просчитает весь текущий (открытый) лист.

Добавлено спустя 13 минут 22 секунды:

Только зачем считать, если в примере уже всё посчитано? Или это полу-вручную?
_Remus_
Похоже аффтару легче все же будет вручную формулы накопипастить.
Новая тема Ответить на тему
Показать сообщения:
Страница 1 из 1
Перейти:
Информация по иконкам и возможностям

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы