2016-05-30 4 views
0

特定の値を検索しようとしていますが、時にはこの列を通るピボットテーブル(途中まで)の途中まであります。 ピボットテーブルが列をまたいだ場合、プログラムがクラッシュします。そうでなければ、コードは正常に動作します。 が2013年8月、 『「MonthlyStartDateが文字列である』。列内での検索で干渉するピボットテーブル

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

OK、どうやってそれを行うのか分かりました。

検索が私の検索のパスにオーバーラップからの日数を防ぐ、「年」欄に崩壊する前にこれを追加で
DataPage.PivotTables("PivotTable1").PivotFields("Years").ShowDetail = false; 
DataPage.Range["AT:AT"].Columns.AutoFit(); 

これを見つけたら、私はそれがまだ機能していないことに気がつきましたが、感謝して私の発見をゴミとして書き留めた。 私の検索では、私は列の値を見ています。ピボットテーブルが列の上に伸びると、ピボットデータに合わせて列のサイズが変更されます。列が小さすぎると完全な日付が表示され、「##」だけが表示されます。 ピボットテーブルを最小化した後に列に「自動調整」を設定すると、完全な日付の値が再び表示され、Findで検索結果が返されます。

うまくいけば、これは将来誰かを助けるでしょう。 (彼らが私の話すことの意味を理解できれば)

関連する問題