Цитата |
---|
написал: Цитата написал:PS для проверки расчетов вставлены случайные числа |
Подсчет количества значений по датам с нескольких листов
Подсчет количества значений по датам с нескольких листов
Подсчет количества значений по датам с нескольких листов
20.06.2025 09:11:44
Добрый день, подскажите пожалуйста как можно решить следующую задачу. Мне необходимо создать формулу, чтобы на листе "Подсчет по датам" в столбце "Н" (Кол-во), ориентируясь по, соответствующим строке, датам в ячейках в столбце "В" было подсчитана сумма ячеек с листов 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 с того же листа и т.д.
Изменено: |
|
|
Сокрытие/показ строк на основании значений ячеек в отдельности друг от друга
Сокрытие/показ строк на основании значений ячеек в отдельности друг от друга
28.02.2024 11:17:45
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" Но не могу допетрить чем заменить лучше, чтобы каждый диапазон строк после каждого значения ячеек "С" обновлялся обособлено от других значений, особенно первого |
|
|
Сокрытие/показ строк на основании значений ячеек в отдельности друг от друга
28.02.2024 11:05:10
|
|||
|
Сокрытие/показ строк на основании значений ячеек в отдельности друг от друга
28.02.2024 08:27:10
Если вопрос по предложенным вариантам, то там, видимо, подсчет идет с конца, т.к. при значении, к примеру, "3", остаются строки с 4 по 11, а не с 1 по 3 как задумано (сделал эти два примера на 2 и 3 листе соответственно, чтобы показать что я описываю) |
|||
|
Сокрытие/показ строк на основании значений ячеек в отдельности друг от друга
Сокрытие/показ строк на основании значений ячеек в отдельности друг от друга
28.02.2024 07:15:20
|
|||
|
Сокрытие/показ строк на основании значений ячеек в отдельности друг от друга
27.02.2024 10:39:50
Добрый день, подскажите пожалуйста, уже пол дня ломаю голову.
Прописал Private Sub для того, чтобы у меня скрывались или показывались строки в количестве, указанном в разных ячейках (на каждую ячейку по 11 строк, нужно лишь указать сколько из них показывать). Но сложилась проблема, что Excel делает это последовательно (кто бы мог подумать), как и прописано в коде. Ввиду этого, если я не меняю значение в первой ячейке, то и изменения в других ячейках не срабатывают. Для понимания, если я поменяю значение в ячейке С16, то количество строк не обновится, пока я не поменяю (или заново не пропишу) значение в ячейке С4. Так вот вопрос в том, как лучше это сделать или прописать, с условием что таких блоков будет не 2, а намного больше, чтобы каждый блок работал автономно от других. П. С. С основами VBA не знаком, пока делаю все на ощупь, как конструктор.
Изменено: |
|
|