我目前有一张工作表,其日期按升序排列在不同的行中,如下所示:
10/03/1995
29/04/1995
25/09/1995
11/07/1997
04/10/1997
02/04/1998
13/07/1998
23/08/1998
11/10/1998
05/06/1999
07/06/1999
10/06/1999
06/05/2000
03/07/2000
15/05/2001
09/07/2001
03/08/2002
11/08/2002
11/09/2002
12/10/2002
16/11/2002
15/12/2002
22/01/2003
17/02/2003
14/03/2003
27/04/2003
28/05/2003
14/07/2003
15/08/2003
10/11/2003
05/12/2003
我打算实现一个输入框,用户可以在其中输入开始年份和结束年份。如果用户输入年份范围,例如1995 - 2000,我怎样才能选择1995-2000的所有日期而不必修改数据(例如使用分隔符“/”)?
答案 0 :(得分:0)
你可以使用Right()作为Tripp指出。
Dim ws As Excel.Worksheet
Dim lRow As Long
Dim i as long
Dim j as long
Dim r as Range
Set ws = ActiveWorkbook.Sheets("Sheet1")
ws.Activate
lRow = 1
'Loop through and record what is in the first column
Do While lRow <= ws.UsedRange.Rows.count
if right(ws.Range("A" & lRow).Value, 4) >= lowYear and right(ws.Range("A" & lRow).Value, 4) <= highYear then
if i = 0 then
i = lRow
j = lROw
else
j = lRow
end if
End if
lRow = lRow + 1
ws.Range("A" & lRow).Activate
Loop
Dim str As String
str = "A" & i & ":A" & j
Set r = Range(str)
r.Select
答案 1 :(得分:0)
以下是使用*
进行操作的方法,这样您就不必遍历所有行。
它会过滤您范围内的日期,选择它们,然后删除过滤器。
*