2016-05-30 66 views
0

我想在列中找到一个特定的值,但有时透过该列有时会有一个数据透视表(偶尔)向下翻页。 如果数据透视表已经扩展到列,我的程序崩溃。如果没有,那么代码运行良好。 “MonthlyStartDate是一个字符串‘2013年8月’。枢轴表干扰在列中查找

LastRowMonthly = DataPage.Range["AT:AT"].Find(MonthlyStartDate, Type.Missing, XlFindLookIn.xlValues, XlLookAt.xlWhole, XlSearchOrder.xlByRows, XlSearchDirection.xlNext, Type.Missing, Type.Missing, Type.Missing).Row; 

我试图将搜索对象限制只有日期会出现在行, Range["AT7:AT48"] 这没有什么区别,但。如果透视表跑进它崩溃,如果它没有,那么它运行良好

数据透视表在第52行开始在不同的列,不能移动 我也试着研究如何折叠数据透视表上的日期列字段,这是导致表格运行到AT列的字段,虽然没有结果,但如果有的话知道如何做到这一点肯定会解决我的问题。

任何有关这个问题的帮助将不胜感激。

回答

0

好吧,所以我想通了如何做到这一点。

DataPage.PivotTables("PivotTable1").PivotFields("Years").ShowDetail = false; 
DataPage.Range["AT:AT"].Columns.AutoFit(); 

在查找之前添加此项将折叠“年份”列,以防止日期重叠到我的查找的路径中。

虽然发现后,我意识到它仍然没有工作,但幸好意识到为什么之前我把我的发现写成垃圾。 在我的查找中,我正在查看列中的值。当数据透视表在列上延伸时,它会调整列的大小以适应透视数据,这会使列太小而无法显示完整日期,只会显示“##”。 通过在使数据透视表最小化之后在列上设置“AutoFit”,它会再次显示完整日期值,并使我的查找生成答案。

希望这将有助于未来的人。 (如果他们能理解我的ramblings。)