Я пытаюсь создать «Генератор отчетов» в Excel, используя командную кнопку (VBA), чтобы создать отчет после ввода диапазона дат, который я хочу, в две ячейки,
лист1 имеет значения В2 и D2, которые содержат только даты (ОТ и ДО), которые являются периодом с 01.01.2009 по 31.12.129
я пытался связать две даты с другими 12 листами (каждый месяц)
на каждом листе каждый день содержит 50 строк и 40 столбцов
Начиная с даты дня в ячейках B2, B52, B102, B152 ... ETC.
я успешен в выполнении следующего (легкая часть)
Используя кнопку команды (VBA) в таблице месяцев, чтобы показать только 50 строк нужного мне дня, я смог скрыть ненужные строки после выбора даты в ячейке A1 (с раскрывающимся списком дат) и нажатия кнопки рядом с кнопкой это в ячейке A2, используя количество дат (43466 = 01.01.2009, 43467 = 01.02.2017 ... и т. д.)
Пример кода VBA ниже (он состоит из 1000 строк, каждый лист содержит около 100 строк, с кнопкой «обновить» и показать только день, который я хочу)
Мне не удалось выполнить следующее (сложная часть)
пробуя разные формулы и vba, чтобы связать две даты на листе 1 (B2 и D2) с конкретной ячейкой на конкретном листе для использования в качестве ОТ и ТО при создании отчета, и связать ячейку с диапазоном ниже ее с помощью OFFSET, и использовать COUNTIF для подсчета конкретные данные в каждом столбце
Private Sub CommandButton1_Click()
Dim TriggerCell As Range
Set TriggerCell = Range("C1")
If TriggerCell.Value = "Show Entire Month" Then
Rows("2:1644").Hidden = False
ElseIf TriggerCell.Value = 43466 Then
Rows("2:1644").Hidden = True
Rows("2:54").Hidden = False
ElseIf TriggerCell.Value = 43467 Then
Rows("2:1644").Hidden = True
Rows("55:107").Hidden = False
End If
End Sub
я ожидаю вывод в ячейках под основным листом (sheet1)
рассчитать интервалы между указанными датами и подсчитать конкретные данные, которые были введены, и подготовить их, затем сгенерировать диаграммы на основе этих результатов и, если возможно, создать полностью автоматический генератор отчетов
![enter image description here](https://i.stack.imgur.com/54aL1.png)