|
n 様ありがとうございます。
更新後でアイテムが変わる場合があるので、最初のを試してみようと思っているのですが、Deleteで先頭の一つだけ残し、その後PivotItemsで指定のアイテムを選択。その後先頭のアイテムを取得して削除などは、可能なのでしょうか。
▼n さん:
>>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が無くなる事がある場合は使えません。
|
|