删除不在日期范围内的内容

时间:2012-05-01 09:57:55

标签: excel excel-vba vba

我有一大堆信息,我以“开始日期”和“结束日期”列的形式输入了一些内容。我想要做的是说,如果您选择的日期范围之外,则删除单元格的内容,每个单元格的右边3和左边的-4。所以-4在开始日期的左边,3在结束日期的右边。

我开始了,但如果你的日期范围不在细胞中,我就会遇到删除问题

Private Sub cmdFilter_Click()
' Function to filter dates between text boxes, deletes all not in the range


Dim stStart As String, stEnd As String
Dim dbStart As Double, dbEnd As Double

Application.ScreenUpdating = 0
'Turn off screen updating until process done so it doesnt flicker

stStart = txtStart.Value
stEnd = txtEnd.Value

If Not IsDate(stStart) Or Not IsDate(stEnd) Then
    MsgBox "Invalid Dates", vbExclamation, "Input Error"
    GoTo ExitSub
End If

dbStart = CDbl(CDate(stStart))
dbEnd = CDbl(CDate(stEnd))


' change to highlight cell for time being

INSERT DELETE IF OUT OF RANGE HERE? 

ExitSub:
Application.ScreenUpdating = 1

End Sub

提前致谢

1 个答案:

答案 0 :(得分:0)

如果你想删除整行,你可以使用带有一个额外列的公式的SpecialCells来抛出错误...

我想我在Excel MVP Ron De Bruin的网站上看到了这一点:SpecialCells

是你在寻找什么?