2016-04-25 7 views
-1

の日付を優れています。どんな助けもありがとう。フィルタリングは、私はエクセルVBAで動作するコードの非常にシンプルなラインがありますが、私は私の人生のために、それはVB.NETでどのように動作するかを把握することはできませんVB.net

Selection.AutoFilter Field:=8, Criteria1:=">=" & sdate 

編集:完全なコード

Dim sDate as Date 
Dim xlapp As New Excel.Application 
sdate = DateTimePicker1.Value.Date 
OpenFileDialog1.Filter = "Excel Documents | *.xls; *.xlsx; *.xlsxm" 
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then 
xlWB= xlapp.Workbooks.Open(OpenFileDialog1.FileName) 

xlWB.Worksheets("Data").Range("H1").Select() 
xlapp.Selection.AutoFilter()    
xlapp.Selection.AutoFilter(Field:=8, Criteria1:="=>" & sDate) 
+0

このコードは、エラーまたは間違ったフィルタを与えますか? –

+0

エラーをスローしません、フィルターは単なる空白で、何行が選択されていません。 – Istha

+0

私は答えのようにあなたのコードをチャゲ持って、あなたはそれをテストすることができます。 –

答えて

1

まず、あなたがDateSerialDateTimePicker1から日付形式に日付を変換し、ToOADate

OLE Automationに日付のド値を変換する必要があります。また、変更する必要があります基準">="から"=>"の演算子は、=記号の後でなければなりません。

Dim sDate As Date 
Dim xlapp As New Excel.Application 
Dim xlWB As Excel.Workbook 
Dim dpDate As Date = DateTimePicker1.Value.Date 
sDate = DateSerial(dpDate.Year, dpDate.Month, dpDate.Day) 
OpenFileDialog1.Filter = "Excel Documents | *.xls; *.xlsx; *.xlsxm" 
If OpenFileDialog1.ShowDialog = DialogResult.OK Then 
    xlWB = xlapp.Workbooks.Open(OpenFileDialog1.FileName) 

    xlWB.Worksheets("Data").Range("H1").Select() 
    xlapp.Selection.AutoFilter() 
    xlapp.Selection.AutoFilter(Field:=8, Criteria1:=">=" & sDate.ToOADate) 
End If 
+0

私はVB.NETでブラケットを持っているが、それでも正常に動作しません。 – Istha

+0

範囲とは何ですか? –

+0

私の編集を見て、私は完全なコードを追加しました。私はそれが文字列であるオートフィルターの基準と関係があると思われますか?それは巧みにうまく動作します。 – Istha

関連する問題

 関連する問題