在网上找了半天,都没有我想要得,所以来求助大家了,万分感谢。我要写一段VBA的程序,其中一段是这样的,我想把表格里面的数据按时间范围自动筛选,而这个时间范围我想把它作为变量,代码如下。        Dim TDateBegin As Date
       Dim TDateEnd As Date
        TDateBegin = InputBox("Input begin date", Date)
       TDateEnd = InputBox("Input end date", Date)
        Worksheets("ww33-ww42").Rows("2:2").Select  \\这句只是选择了一下要自动筛选的行
        Selection.AutoFilter field:=1, Criteria1:=">=TDateBegin", Operator:= _
       xlAnd, Criteria2:="<=TDateEnd"问题来了,不管我给第三四行的TDateBegin和TDateEnd不管我给它们赋什么值,都得不出结果,就连直接赋给它们具体的时间值,也什么都筛选不出来,而如果把第六行里面的Criteria1和Criteria2的值写上某个具体的时间,程序便没什么问题,也就是Criteria1:=">=1-Sep-08", Operator:= xlAnd, Criteria2:="<=21-Sep-08"
但那就不是变量操作了,而且我察看了一下自动筛选里面custom的两个输入框,Criteria等于什么,输入框里就是什么,一点也体现不出变量的意思来。所以请教大家究竟是怎么回事呢?难道这两个条件不能用变量么?就算不能用变量,那我让它等于一个单元个里面的内容都不可能,也就是Criteria1:=">=A5", Operator:= xlAnd, Criteria2:="<=A9"真是头疼,谢谢大家了

解决方案 »

  1.   


    Dim TDateBegin As Date Dim TDateEnd As Date TDateBegin = InputBox("Input begin date", Date) TDateEnd = InputBox("Input end date", Date) Worksheets("ww33-ww42").Rows("2:2").Select  \\这句只是选择了一下要自动筛选的行 Selection.AutoFilter field:=1, Criteria1:= ">=" & TDateBegin, Operator:= _ 
          xlAnd, Criteria2:=" <= " & TDateEnd 'Criteria1:= ">=" & TDateBegin '是引用 TDateBegin 的值.
    '不是就是 ">= TDateBegin" 这几个字符.
      

  2.   

    改成樓上的寫法,你的寫法TDateBegin是作爲字符串而不是變量的。