如何过滤VBA中SASDataView对象的date列(SAS Excel Add in for Excel 2007)

我有一个用户窗体的button。 我想将filter应用于Date_ID字段工作表中的工作表,其中包含button单击上的SAS数据集的链接。

SAS数据集中Date_ID字段的格式为ddmmyy10。 在包含SAS数据集链接的Excel工作表中,它显示为“31.10.2015”

部分UserForm代码与声明:

Public excelSASAddIn As SASExcelAddIn Public datafeed As SASDataView Private Sub UserForm_Initialize() Set excelSASAddIn = Application.COMAddIns.Item("SAS.ExcelAddIn").Object Set datafeed = excelSASAddIn.GetDataView("SASApp_REPORTS_DATAFEED") End Sub 

button点击代码:

 Private Sub createReportButton_Click() datafeed.Filter = "Date_ID = 31/10/2015" datafeed.Refresh End Sub 

所以,如果我硬编码date,我没有得到一个错误,但工作表上的SASDataView对象被过滤到0行,显然不应该是这样的。 也试过硬编码10/31/2015

我试过用东西DatePSerial:

 Dim dateText As String dateText = Format(DateSerial(2015, 10, 31), "dd/MM/yyyy") topsFlops.Filter = "Date_ID = " & dateText 

但由于我的区域设置,这会导致错误。 dateText是“31.10.2015”,而不是31/10/2015

我也尝试过这样的事情:

 topsFlops.Filter = "Date_ID >= 31/10/2015 and Date_ID < 01/11/2015" 

但是这也过滤到0行…

我已经看过SASExcel加载项的帮助,但是没有如何过滤date字段的示例,只有文本字段…

提前致谢! 干杯! 🙂