Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


70492 / 76738 ←次へ | 前へ→

【10751】findについて
質問  hisao E-MAIL  - 04/2/12(木) 10:16 -

引用なし
パスワード
   ちょっと面倒ですが 教えて貰えないでしょうか
工番pを入力して 4つのピボットテーブルから工番分の詳細を表示させたいのですが 該当工番がない場合には error処理で次のピボットテーブルの抽出に移るようにしました。ところが4番目”昨年原価2"の段階で 該当工番がない場合にはon error goto 終わりとしているに拘わらず 何故かerrorが出て脱出できません。構文の誤りをお教え下さい。


Sub 工番集計()
p = InputBox("工番を入力して下さい")

'原価集計から抽出

Sheets("原価集計").Select
a = Range("A2500").End(xlUp).Row
b = Range("HA2").End(xlToLeft).Column
Range(Cells(1, 1), Cells(a, b)).Name = "kouban"
Range("KOUBAN").Select
On Error GoTo zenkouban
  Selection.FIND(What:=p, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    False).Activate
ActiveCell.Offset(0, b - 1).Select
Selection.ShowDetail = True
Q = ActiveSheet.Name
L = Range("a50000").End(xlUp).Row
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
    Q & "!R1c1:R" & L & "C19").CreatePivotTable TableDestination:="原価計算!r40C1", _
    TableName:="ピボットテーブル2"
Sheets("原価計算").Select
' ActiveSheet.PivotTables("ピボットテーブル2").SmallGrid = False
  With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("仕入先")
    .Orientation = xlRowField
    .Position = 1
  End With
  With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("税抜金額")
    .Orientation = xlDataField
    .Position = 1
    .Function = xlSum
  End With
 Sheets(Q).Select
ActiveWindow.SelectedSheets.Delete

'昨年原価からの抽出

zenkouban:
Sheets("昨年原価").Select
a = Range("A2500").End(xlUp).Row
b = Range("HA2").End(xlToLeft).Column
Range(Cells(1, 1), Cells(a, b)).Name = "zenkouban"
Range("zenKOUBAN").Select

On Error GoTo 注文台帳
  Selection.FIND(What:=p, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    False).Activate
ActiveCell.Offset(0, b - 1).Select
Selection.ShowDetail = True
r = ActiveSheet.Name
L = Range("a50000").End(xlUp).Row
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
    r & "!R1c1:R" & L & "C19").CreatePivotTable TableDestination:="原価計算!r40C3", _
    TableName:="ピボットテーブル3"

Sheets("原価計算").Select
' ActiveSheet.PivotTables("ピボットテーブル2").SmallGrid = False
  With ActiveSheet.PivotTables("ピボットテーブル3").PivotFields("仕入先")
    .Orientation = xlRowField
    .Position = 1
  End With
  With ActiveSheet.PivotTables("ピボットテーブル3").PivotFields("税抜金額")
    .Orientation = xlDataField
    .Position = 1
    .Function = xlSum
  End With
 Sheets(r).Select
ActiveWindow.SelectedSheets.Delete

'注文台帳からの抽出

注文台帳:
Sheets("原価集計2").Select

a = Range("A2500").End(xlUp).Row
b = Range("HA2").End(xlToLeft).Column
Range(Cells(1, 1), Cells(a, b)).Name = "kouban"
Range("KOUBAN").Select
On Error GoTo 前注文
  Selection.FIND(What:=p, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    False).Activate
ActiveCell.Offset(0, b - 1).Select
Selection.ShowDetail = True
Q = ActiveSheet.Name
L = Range("a50000").End(xlUp).Row
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
    Q & "!R1c1:R" & L & "C19").CreatePivotTable TableDestination:="原価計算!r40C6", _
    TableName:="ピボットテーブル4"
Sheets("原価計算").Select
' ActiveSheet.PivotTables("ピボットテーブル2").SmallGrid = False
  With ActiveSheet.PivotTables("ピボットテーブル4").PivotFields("発注先")
    .Orientation = xlRowField
    .Position = 1
  End With
  With ActiveSheet.PivotTables("ピボットテーブル4").PivotFields("金額")
    .Orientation = xlDataField
    .Position = 1
    .Function = xlSum
  End With
 Sheets(Q).Select
ActiveWindow.SelectedSheets.Delete

'昨年原価2からの抽出

前注文:
Sheets("昨年原価2").Select
a = Range("A2500").End(xlUp).Row
b = Range("HA2").End(xlToLeft).Column
Range(Cells(1, 1), Cells(a, b)).Name = "zenkouban"
Range("zenKOUBAN").Select

On Error GoTo 終わり


  Selection.FIND(What:=p, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    False).Activate
ActiveCell.Offset(0, b - 1).Select
Selection.ShowDetail = True
r = ActiveSheet.Name
L = Range("a50000").End(xlUp).Row
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
    r & "!R1c1:R" & L & "C27").CreatePivotTable TableDestination:="原価計算!r40C8", _
    TableName:="ピボットテーブル5"
Sheets("原価計算").Select
' ActiveSheet.PivotTables("ピボットテーブル2").SmallGrid = False
  With ActiveSheet.PivotTables("ピボットテーブル5").PivotFields("発注先")
    .Orientation = xlRowField
    .Position = 1
  End With
  With ActiveSheet.PivotTables("ピボットテーブル5").PivotFields("金額")
    .Orientation = xlDataField
    .Position = 1
    .Function = xlSum
  End With
 Sheets(r).Select
ActiveWindow.SelectedSheets.Delete
Sheets("原価計算").Select
Cells.Select
 
  Selection.Columns.AutoFit
 
終わり:

End Sub
0 hits

【10751】findについて hisao 04/2/12(木) 10:16 質問
【10758】Re:findについて こうちゃん 04/2/12(木) 15:02 回答
【10760】Re:findについて Jaka 04/2/12(木) 15:26 発言
【10761】Re:findについて hisao 04/2/12(木) 15:41 回答
【10956】Re:findについて hisao 04/2/19(木) 16:15 質問
【10957】Re:findについて こうちゃん 04/2/19(木) 16:31 回答
【10962】Re:findについて hisao 04/2/19(木) 17:36 お礼

70492 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free