Excel 2010 VBA Как отобразить даты выполнения в списке?
Во -первых, спасибо за вашу помощь.
Я пытаюсь отобразить даты выполнения в списке в форме пользователя. Я планирую добавить отдельные кнопки CommanButtons для каждого месяца. Когда я нажимаю, скажем, в январе, я хочу увидеть сроки в январе этого года. У меня есть лист "База данных", и несколько столбцов содержат даты в зависимости от прогресса. Это может усложнить задачу, но я хочу вызвать строки со сроками для января и отобразить в списке. Если я нажму "Декабрь", он обновится и покажет только строки, для которых крайний срок - декабрь.
Пожалуйста, дайте мне знать, если мне не ясно.
Заранее спасибо.
2 ответа
Я бы порекомендовал вам использовать именованные диапазоны для этого упражнения. Выберите столбец со всеми датами погашения за январь и назовите диапазон "январь". Тогда вы можете использовать следующее
Private Sub JanBtn_Click()
DueDateLB.RowSource = "Database!Jan"
End Sub
Спасибо за ваше сообщение.
До сих пор я придумал это:
Частный Sub cmdJan_Click ()
Dim FindString As Date
Dim Rng As Range
FindString = DateSerial(2015, 1, 17)
With Sheets("Database").Range("N:N")
Set Rng = .Find(What:=FindString, _
After:=.Cells(.Cells.Count), _
LookIn:=xlFormulas, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng Is Nothing Then
Me.ListBox2.RowSource = Rng.EntireRow.Address
Else
MsgBox "Nothing found"
End If
End With
End Sub
- Я хочу изменить "DateSerial(2015, 1, 17)" на что-то вроде "XXXX(текущий год, первый месяц, любой день).
- Код выше работает только тогда, когда активен лист "База данных". Он должен работать, когда он также неактивен. "База данных" не будет скрыта, но будет виден только первый лист.
Любые комментарии?