Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Подсчет количества значений по датам с нескольких листов
 
Цитата
написал:
Цитата написал:PS для проверки расчетов вставлены случайные числа
Заменил СУММ на СЧИТАТЬПУСТОТЫ, всё заработало, спасибо большое
Подсчет количества значений по датам с нескольких листов
 
Цитата
написал:
PS для проверки расчетов вставлены случайные числа
А если во внимание взять вариант, когда надо подсчитать количество пустых ячеек? Видимо в оглавлении некорректно описал. Например в части ячеек будут стоять "н", а надо подсчитать кол-во без них. К примеру в диапазонах 78 ячеек, из них 10 с "н", надо чтобы формула выдала в итоге 68
Подсчет количества значений по датам с нескольких листов
 
Добрый день, подскажите пожалуйста как можно решить следующую задачу. Мне необходимо создать формулу, чтобы  на листе "Подсчет по датам" в столбце "Н" (Кол-во), ориентируясь по, соответствующим строке, датам в ячейках в столбце "В" было подсчитана сумма ячеек с листов 1; 2; 3; 4 из столбцов с соответствующими датами с ячеек в 4 строке.
Для примера, если я в ячейке В3, листа "подсчет по датам" внесу дату 28.07.2025, то в ячейке Н3 того же листа эксель посчитает сумму ячеек D4 с листов 1; 2; 3; 4. А если внесу дату 29.07.2025, то сумму ячеек D5 с тех же листов и т.д.

А если получится, то в идеале второй вариант: если я в ячейке В3, листа "подсчет по датам" внесу дату 28.07.2025, то в ячейке Н3 того же листа эксель посчитает сумму диапазонов ячеек F8:F25 + F32:F51 + F58:F77 + F84:F103 с листа "Посещение". А если внесу дату 29.07.2025, то сумму диапазонов ячеек I8:I25 + I32:I51 + I58:I77 + I84:I103 с того же листа и т.д.
Изменено: Hitruga - 20.06.2025 09:20:28
Сокрытие/показ строк на основании значений ячеек в отдельности друг от друга
 
Цитата
написал:
Tак.
Огонь, спасибо большое за помощь, действительно помогло
Сокрытие/показ строк на основании значений ячеек в отдельности друг от друга
 
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect([C3], Target) Is Nothing Then
Exit Sub
Else

Dim cel As Range, Rg1 As Range, Rg2 As Range
Set Rg1 = Columns(3).SpecialCells(2, 1)
Set Rg2 = Range(Rg1, Rg1.CurrentRegion.Cells(Rg1.CurrentRegion.Cells.Count))
If Rg2.Cells.Count <> Rg2.SpecialCells(12).Cells.Count Then Rows.Hidden = False: Exit Sub
Rg2.EntireRow.Hidden = True
For Each cel In Rg1.Cells
If cel.Value Then cel.EntireRow.Resize(cel.Value + 1).Hidden = False
Next
End Sub

Иду путем новичка, решил объединить два кода, получилось добиться, чтобы не через кнопку работало. Но вот снова код идет последовательно, и пока не исправлено первое значение в столбце "С", остальные не обновляются.

Грешу на:
"Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect([C3], Target) Is Nothing Then"

Но не могу допетрить чем заменить лучше, чтобы каждый диапазон строк после каждого значения ячеек "С" обновлялся обособлено от других значений, особенно первого
Сокрытие/показ строк на основании значений ячеек в отдельности друг от друга
 
Цитата
написал:
Наверно опять не угадал. Ну все равно выложу.
Спасибо, да этот макрос работает согласно нужному принципу. Только вот, чтобы оставались только нужные строки, приходиться дважды нажимать на кнопку (в первый раз макрос возвращает все строки, а во второй уже оставляет нужные, согласно ячейкам). Поэтому буду думать как это сделать, чтобы эксель это делал автоматически, при изменении значений ячеек, а не через кнопку
 
Сокрытие/показ строк на основании значений ячеек в отдельности друг от друга
 
Цитата
написал:
Не понятна проблема. Блоки по 11 строк скрываются и открываются блоки по столько строк, сколько указано в ячейке от от стрлки с этой ячейкой. По событию изменения сделать пробегая только по третьему столбцу со значениями. Мне видится код в строк так в 10.
Проблема в том, как я и описывал, что в моей варианте (если вопрос про него) изменения согласно последующим значениям в столбце "С" осуществляются экселем только после внесения изменений в первое по порядку значение. Соответственно это не устраивает.
Если вопрос по предложенным вариантам, то там, видимо, подсчет идет с конца, т.к. при значении, к примеру, "3", остаются строки с 4 по 11, а не с 1 по 3 как задумано (сделал эти два примера на 2 и 3 листе соответственно, чтобы показать что я описываю)
Сокрытие/показ строк на основании значений ячеек в отдельности друг от друга
 
Цитата
написал:
Или так
Та же ситуация, что и с первым вариантом, предложенным тут. Макрос скрывает указанное количество строк из существующих 11-ти.
Сокрытие/показ строк на основании значений ячеек в отдельности друг от друга
 
Цитата
написал:
Sub HideShowRows()
   Dim nn As Long
   Dim flag As Boolean
   Dim cl As Range
   For Each cl In Columns(3).SpecialCells(xlCellTypeConstants, 1)
       If cl.Cells(2, 1).EntireRow.Hidden = True And flag = False Then
           Cells.EntireRow.Hidden = False
           Exit For
       Else
           flag = True
           nn = cl.Value
           If nn > 0 Then
               cl.Cells(2, 1).EntireRow.Resize(nn).Hidden = True
           End If
       End If
   Next
End Sub
Данный макрос прячет указанное количество первых строк. Если я указываю, например - 2, то он показывает вместо 11-ти строк 9-ть, начиная с третьей
Сокрытие/показ строк на основании значений ячеек в отдельности друг от друга
 
Добрый день, подскажите пожалуйста, уже пол дня ломаю голову.
Прописал Private Sub для того, чтобы у меня скрывались или показывались строки в количестве, указанном в разных ячейках (на каждую ячейку по 11 строк, нужно лишь указать сколько из них показывать). Но сложилась проблема, что Excel делает это последовательно (кто бы мог подумать), как и прописано в коде. Ввиду этого, если я не меняю значение в первой ячейке, то и изменения в других ячейках не срабатывают. Для понимания, если я поменяю значение в ячейке С16, то количество строк не обновится, пока я не поменяю (или заново не пропишу) значение в ячейке С4.
Так вот вопрос в том, как лучше это сделать или прописать, с условием что таких блоков будет не 2, а намного больше, чтобы каждый блок работал автономно от других.
П. С. С основами VBA не знаком, пока делаю все на ощупь, как конструктор.
Изменено: Hitruga - 27.02.2024 10:59:18 (Замена документа на корректный с макросом)
Страницы: 1
Наверх