2011 년 10 월 14 일 최종 업데이트 - 이제 자세한 정보를 알고 있으므로 여기에 모든 내용을 요약하고 이전 설명/질문을 모두 삭제합니다.Excel 2007 VBA - 피벗 테이블 필드 목록 ??? 오류가 발생합니다
문제는 특정 프로그램을 실행 한 후에 이상한 오류가 발생합니다. "Split"을 클릭했을 때와 비슷하지만 정확하지는 않습니다. 차이점은 단색 회색 막대가 나타나지 않는다는 것입니다. 그것은 이상한 일입니다. 최근에 필자는 아마도 피벗 테이블의 필드 목록이 원인 일 수 있다고 생각하기 시작했습니다.
문제는
코드 1
Dim pvtCache As PivotCache
For Each pvtCache In ThisWorkbook.PivotCaches
pvtCache.Refresh
Next pvtCache
코드 2
ThisWorkbook.RefreshAll
코드 3
Dim ws As Worksheet
Dim pt As PivotTable
For Each ws In ThisWorkbook.Worksheets
For Each pt In ws.PivotTables
pt.RefreshTable
Next pt
Next ws
은 불가능 코드의 다음 세 가지의 발생 이, 어디 o 할수 있답니다 차이가 나는 코드 3
코드 그래서 4
Dim ws As Worksheet
Dim pt As PivotTable
For Each ws In ThisWorkbook.Worksheets
ws.Activate
For Each pt In ws.PivotTables
pt.RefreshTable
Next pt
Next ws
에 ws.Activate을 추가, 내 질문은, 어떤 일이 설명 할 수 있습니까? 어느 누구도이 오류없이 작동하도록 코드 1 (큰 데이터 소스의 2 피벗 캐시가있는 스프레드 시트에서 훨씬 빠르지 만 피벗 테이블 46 개)를 수정할 수 있습니까?
도움 주셔서 감사합니다.
우리가 코드를 보지 않고 추측 할 수 있으며, 어쨌든, 음 ... 그래서 그것을 게시 할 수 없습니다, 당신은 여전히 코드에서 일부 중단 점을 설정할 수 있습니다 (그리고'screenupdating'을 false로 설정하여 주석을 달아주십시오) 코드가 여러 라인에있는 중단 점을 설정하는 동안 split이 어디에 나타나는지 봅니다. 그러면 아마도 "잘못된"라인에 집중하는 데 도움이 될 것입니다. – JMax
코드를 게시하는 것을 꺼려하는 이유가 확실하지 않은 경우 : 귀하의 회사가 귀하의 비밀 버그를 복사 할까 우려됩니까? 우리 모두 여기에 "work"코드를 게시합니다 ... –
피벗 테이블을 "수동으로 새로 고침"할 수 있습니까? 내 직감은 당신이 할 수 없다는 것입니다. – adamleerich