0

我想搜索属于一个月的所有日期。月份将由用户选择。我无法搜索所有日期,我只能得到最后输入的日期。我正在使用查找功能,无法提供具体条件。

    mois = InputBox("Choisissez le mois (Entrer la valeur Numérique)!!! (1 pour Janvier, 2 pour Fév .... )", "Titre")
   If mois > 0 & mois < 12 Then
    ' Search for matching date
    Set cellsearch = Range("G1:G" & NbrLinesDate).Find(What:=mois_chercher)

    If cellsearch Is Nothing Then
        If mois < 0 Then
        ElseIf mois > 12 Then
        End If
    Else
    ligne = cellsearch.Row
    Date_to_search = Range("G" & ligne).Value
End If
End If
    MsgBox Date_to_search                           '' Checkpoint_1
    JourTest = Day(Date_to_search)
    JourTest = Trim(JourTest)
    MsgBox JourTest                                 '' Checkpoint_2

Mois 是存储用户提供的月份值的变量。在这段代码中,我没有使用这个变量 mois 来搜索属于本月的日期。我无法做到这一点。

Date_de_Survenance
 30/01/2013
 31/01/2013
 31/01/2013
 04/02/2013
 05/02/2013
 07/02/2013
 11/02/2013
 13/02/2013
 13/02/2013
 13/02/2013
 15/02/2013
 20/02/2013
4

1 回答 1

1

请参阅此示例。我没有使用Inputbox输入,而是使用硬编码值进行演示。

假设您的 Excel 数据如下所示。

在此处输入图像描述

只需将此代码粘贴到模块中并运行它。

代码

'
' Excel Constants for Months for Autofilter
'
'   xlFilterAllDatesInPeriodJanuary = 21
'   xlFilterAllDatesInPeriodFebruray = 22
'   xlFilterAllDatesInPeriodMarch = 23
'   xlFilterAllDatesInPeriodApril = 24
'   xlFilterAllDatesInPeriodMay = 25
'   xlFilterAllDatesInPeriodJune = 26
'   xlFilterAllDatesInPeriodJuly = 27
'   xlFilterAllDatesInPeriodAugust = 28
'   xlFilterAllDatesInPeriodSeptember = 29
'   xlFilterAllDatesInPeriodOctober = 30
'   xlFilterAllDatesInPeriodNovember = 31
'   xlFilterAllDatesInPeriodDecember = 32


Sub Sample()
    Dim ws As Worksheet
    Dim lRow As Long, lMnth As Long, constmonth As Long

    '~~> Feb
    lMnth = 2
    constmonth = lMnth + 20 '~~> (See the commented section for constants)

    '~~> Change this to the relevant sheet
    Set ws = ThisWorkbook.Sheets("Sheet1")

    With ws
        lRow = .Range("A" & .Rows.Count).End(xlUp).Row

        '~~> Remove any filters
        .AutoFilterMode = False

        With .Range("A1:A" & lRow)
            .AutoFilter Field:=1, Criteria1:= _
            constmonth, Operator:=xlFilterDynamic
        End With
    End With
End Sub

输出

在此处输入图像描述

于 2013-08-08T10:01:22.707 回答