2010-06-18 1 views
0

약간의 도움이 필요합니다. 자동으로 피벗 테이블과 차트를 만드는 매크로가 있습니다.이 모든 작업은 정상적으로 작동하지만 내 피벗 테이블에서 내 범위 원본 데이터의 최종/열을 자동으로 가져와 공백을받지 못하게하려면 어떻게합니까? 데이터는, 나는 R65536C37가 자동으로 "원시"시트피벗 테이블 SourceData의 마지막 부분을 자동으로 선택하여 (공백)을 피하십시오.

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ 
    "raw!R1C1:R65536C37").CreatePivotTable _ 
    TableDestination:="Frontpage!R7C1", TableName:="PivotTable2", _ 
    DefaultVersion:=xlPivotTableVersion10 

I의 lastcolumn에 따라 생성 할 수 찾고 있어요 그래서 이것은 여기

가 소스 데이터를 통해 자동으로 할 필요가 끊임없이 변화 시도했었다;

LastRow = ActiveSheet.UsedRange.Rows.Count 
SourceData:= "raw!R1C1:" & LastRow & C37" 

피벗 어떤 도움을 크게 감상 할 수

Sheets("Frontpage").Select 
Range("A7").Select 
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ 
    "raw!R1C1:R65536C37").CreatePivotTable _ 
    TableDestination:="Frontpage!R7C1", TableName:="PivotTable2", _ 
    DefaultVersion:=xlPivotTableVersion10 
Sheets("Frontpage").Select 
Cells(7, 1).Select 
ActiveSheet.Shapes.AddChart.Select 
ActiveChart.SetSourceData Source:=Range("Frontpage!$A$7:$H$22") 
ActiveChart.ChartType = xlColumnClustered 
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Priority") 
    .Orientation = xlRowField 
    .Position = 1 
End With 
ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables(_ 
    "PivotTable2").PivotFields("Case ID"), "Count of Case ID", xlCount 
ActiveChart.Parent.Name = "IncidentsbyPriority" 
ActiveChart.ChartTitle.Text = "Incidents by Priority" 
Dim RngToCover As Range 
Dim ChtOb As ChartObject 
Set RngToCover = ActiveSheet.Range("D7:L16") 
Set ChtOb = ActiveSheet.ChartObjects("IncidentsbyPriority") 
ChtOb.Height = RngToCover.Height ' resize 
ChtOb.Width = RngToCover.Width ' resize 
ChtOb.Top = RngToCover.Top ' reposition 
ChtOb.Left = RngToCover.Left ' reposition 

매크로. 내 테이블과 차트에서 (공백) 지 않도록 4 개의 다른 피벗에서이 작업을 반복해야합니다.

+0

부터 계산 이런 종류의 기능 (fxlCountFuncs.zip)의 집합을 다운로드 할 수 있습니다 .. 방금 ​​매크로를 실행하여 각 피벗 테이블에서 (공백)을 필터링했습니다. – Adam

답변

0

일반적으로 명명 된 동적 범위를 사용합니다. 예 :
= OFFSET (원시! $ A $ 1,0,0, COUNTA (원시! $ 1 : $ 1))

수식을 사용하여 RawData라는 명명 된 범위를 만듭니다.

여기에는 공백이 포함되지 않았다고 가정합니다. 내에있는 데이터는 열 1 또는 행 1에 있습니다 (데이터 끝을 초과하는 공란/공백은 문제가되지 않음).

데이터 내에서 공백이있는 경우

는 당신은 다른 기능을 사용할 필요가 : 당신이 주변에 작품을 찾을 수
http://www.decisionmodels.com/downloads.htm

관련 문제