我看过但没有找到我正在尝试的任务的解决方案。我是VBA的新手,所以学习曲线很陡峭。这是我想要做的:
在Excel 2010/2013中,我在前9行中有一个固定内容的工作表,从第10行开始,列B中连续日期的数据行。我需要用户能够评估某些内容中的数据表格中所有日期的子集。
例如:用户在单元格K1中输入值“06/15/15”,在单元格N1中输入“06/19/15”。第10行到第20行都包含一条记录,B列是每条记录的日期字段。在该示例中,单元格B10包含日期06/12/15到单元格B20,其包含日期06/22/15。我需要代码来查看单元格K1和N1的内容,将它们解释为日期范围的边界,并仅显示行值为10或更大且在该定义范围内的数据行,隐藏所有其他人,可以看到标题行1到9。只有大于9的行,其中日期在用户选择的标准之间并且包括用户选择的标准。
答案 0 :(得分:0)
尝试这样的事情:
dim iRow as integer
dim iColumn as integer
iRow = 10 'Row 10
iColumn = 2 'Column B
do until activesheet.cells(iRow, iColumn).value = ""
if datediff("d", activesheet.range("K1").value, _
activesheet.cells(iRow, iColumn).value) => -10 AND _
datediff("d", activesheet.range("N1").value, _
activesheet.cells(iRow, iColumn).value) =< 10 then _
activesheet.rows(iRow).entirerow.hidden = true
iRow = iRow + 1
loop
如果你需要检查多个列,可以使用iColumn = iColumn + 1在此循环内添加一个额外的循环。这是你要找的吗?