如何过滤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字段的示例,只有文本字段…
提前致谢! 干杯! 🙂