エラー
on error next
えらーが検出されても次の行に進む
onerror goto 0
の行まで有効
エラーが検出されるとぴポットテーブルを削除
pivottotablewizardメソッド
sourcetype:集合元ノデータxldatabase
sourcedata:集計に使用するデータ
tabledestination:配置場所
表側項目の指定
addfieldメソド:rowfields 勘定科目
集計項目
orientation テーブルフィールド
name 合計:入金
function 合計

Option Explicit
Sub 入金集計()
Const Pname As String = “勘定科目別入金” ‘ピボットテーブル名
‘過去に作成したピボットテーブルを削除する。
Worksheets(“科目別集計”).Activate
On Error Resume Next
‘テーブルが存在しないとエラーになる。
ActiveSheet.PivotTables(Pname).PivotSelect “”, xlDataAndLabel
‘エラーでないときのみセレクションをクリア
If Err.Number = 0 Then Selection.Clear
On Error GoTo 0
Worksheets(“元帳”).Activate
‘ SourceDataは、キー入力マクロで作成すると”元帳!R3C1:R191C7″のような
‘ 文字列指定になりますが、プログラミングではRangeで与えたほうが楽です。
ActiveSheet.PivotTableWizard _
SourceType:=xlDatabase, _
SourceData:=Cells(3, 1).CurrentRegion, _
TableDestination:=”科目別集計!R1C1″, _
TableName:=Pname
ActiveSheet.PivotTables(Pname).AddFields RowFields:=”勘定科目”
With ActiveSheet.PivotTables(Pname).PivotFields(“入金”)
.Orientation = xlDataField
.Name = “合計 : 入金”
.Function = xlSum
End With
End Sub
Sub 出金集計()
Const Pname As String = “勘定科目別出金” ‘ピボットテーブル名
Worksheets(“科目別集計”).Activate
On Error Resume Next
ActiveSheet.PivotTables(Pname).PivotSelect “”, xlDataAndLabel
If Err.Number = 0 Then Selection.Clear
On Error GoTo 0
Worksheets(“元帳”).Activate
ActiveSheet.PivotTableWizard _
SourceType:=xlDatabase, _
SourceData:=Cells(3, 1).CurrentRegion, _
TableDestination:=”科目別集計!R1C4″, _
TableName:=Pname
ActiveSheet.PivotTables(Pname).AddFields RowFields:=”勘定科目”
With ActiveSheet.PivotTables(Pname).PivotFields(“出金”)
.Orientation = xlDataField
.Name = “合計 : 支出”
.Function = xlSum
End With
End Sub











