2017-11-29 3 views
0

새 요약 워크 시트에 테이블과 그래프를 만들 것으로 예상되는 Excel 매크로를 프로그래밍하고 있는데 매크로에서 피벗 테이블을 필터링해야하는 부분에 문제가 있습니다. 그것을 요약 워크 시트에 복사/붙여 넣기하십시오. 간단하게 들리지만 이유 때문에 대상 범위에서 값이 0 인 단일 셀을 얻습니다. 그러나 필터링은 올바르게 수행됩니다. 이것이 발생하는 코드 부분은 다음과 같습니다.VBA를 사용하여 피벗 테이블 복사

Dim pt As PivotTable: Set pt = errprov.PivotTables("ErroresProveedor") 
    On Error Resume Next 
    pt.PivotFields("DESCRIPCIONESGLOBALES").ClearAllFilters 
    pt.PivotFields("DESCRIPCIONESGLOBALES").CurrentPage =actual.Range("A2").Value 
    pt.PivotFields("DATA DE").ClearAllFilters 
    pt.PivotFields("DATA DE").CurrentPage = "SA" 

    'The problem is here 
    Dim rng As Range 
    Set rng = errprov.Range("A7", Range("A7").End(xlToRight).End(xlDown)) 
    actual.Activate 
    rng.Copy Range("A" & fila) 

나는 거기에 피벗 테이블이있다, 그러나 나는 또한 내가 다른 게시물에서 발견처럼, 자신의 방법으로 객체로 테이블을 선택 시도하고 있기 때문에 아마 내가 얻을 범위 속성을 사용하여 오류가 동일한 결과 (값이 0 인 단일 셀).

+0

당신이'fila'에 값을 할당 마십시오해야 하는가? – SJR

+0

모든 값이 올바르게 지정되었으므로 매크로를 단계별로 실행했고 필라는 원하는 값을 가지고 있습니다. 문제는 내가 테이블을 복사 할 때 A & fila (122) 셀에 0을 얻는다는 것입니다. –

+0

'On Error Resume Next'를 주석 처리하고 오류가 있는지 확인하십시오. – SJR

답변

0
Set rng = errprov.Range("A7", Range("A7").End(xlToRight).End(xlDown)) 

Set rng = errprov.Range("A7:" & Range("A7").End(xlToRight).End(xlDown).Address) 
+0

고마워! 부분적으로는 효과가있었습니다. 테이블은 지정된 범위로 복사되었지만 첫 번째 2 열만 복사되었습니다. Ctrl + Shift + ArrowKey를 사용하여 테이블을 수동으로 선택하면 (예 : .End와 동일하게 작동해야 함) 전체를 선택할 수 있습니다. 어떤 아이디어가 이런 일이 일어나는 이유는 무엇입니까? –

+0

수동으로 할 때 오른쪽, 아래 또는 아래로 이동합니까? 귀하의 코드는 전자 코드를 수행합니다. Ctrl + Shift + ArrowKey는 첫 번째 빈 셀이 나오기 직전에 멈 춥니 다. 그래서 c7이 비어있는 것처럼 들립니다. –

+0

나는 수동으로 바로 가고 있습니다. 이상한 부분입니다. 나는 매크로를 사용하여 매크로가 제대로 작동하는지 확인하려고 노력할 것입니다. –