Excel VBA質問箱 IV

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

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


17018 / 76738 ←次へ | 前へ→

【65181】Re:PivotItemsについて
発言  n  - 10/4/23(金) 22:26 -

引用なし
パスワード
   >PivotItems時にゼロベースから...
全アイテムを非選択(非表示)にはできないです。
Loopで時間がかかるなら、Deleteを使ってみてください。

例えば先頭の1コだけ残す例。
Sub try()
  Const p = 3
  Dim x As Long

  With ActiveSheet.PivotTables(1)
    If Not .ColumnGrand Then x = 1
    With .RowRange.Columns(1).Cells
      .Item(p).Resize(.Count - p + x).Delete
    End With
  End With
End Sub

列方向の場合は
Const p = 2
Dim x As Long

With ActiveSheet.PivotTables(1)
  If Not .RowGrand Then x = 1
  With .ColumnRange.Rows(2).Cells
    .Item(p).Resize(, .Count - p + x).Delete
  End With
End With


更新前後のCountを比較して増えたItemだけ非表示にするなら
Dim p As Long
Dim x As Long
Dim n As Long

With ActiveSheet.PivotTables(1)
  If Not .ColumnGrand Then x = 1
  p = .RowRange.Columns(1).Cells.Count
  .RefreshTable
  With .RowRange.Columns(1).Cells
    n = .Count - p
    If n > 0 Then
      .Item(p + x).Resize(n).Delete
    End If
  End With
End With
#更新前に選択していたItemが無くなる事がある場合は使えません。
0 hits

【65160】PivotItemsについて 椿 10/4/20(火) 21:15 質問
【65181】Re:PivotItemsについて n 10/4/23(金) 22:26 発言
【65188】Re:PivotItemsについて 椿 10/4/24(土) 22:47 質問
【65195】Re:PivotItemsについて n 10/4/26(月) 16:16 発言
【65236】Re:PivotItemsについて 椿 10/4/28(水) 22:54 お礼

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