2016-05-30 63 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。)