0

作成中のレポートにはピボット テーブルが含まれており、その名前 (PivotTable1 など) は VBA コードで明示的に参照されています。

ワークブック自体に、ピボット テーブルが存在することを確認する式ベースのチェックを含めたいと考えました (基本的に、ユーザーがテーブルの名前を変更していないこと、またはテーブルを完全に削除していないことを確認します)。

次の回避策を使用して、名前を使用してテーブルが存在することを確認します。

=NOT(ISERROR(INDEX(INDIRECT("NameOfTable"),1,1))))

ネイティブの Excel 関数を使用してピボットに似たようなことを提案できる人はいますか?

4

1 に答える 1

0

VBA ユーザー定義関数の作成はオプションですか? この場合、私は提案します

Public Function ExistPivot(PTName As String) As Boolean
Dim WS As Worksheet, PT As PivotTable

    ExistPivot = False
    For Each WS In ActiveWorkbook.Worksheets
        For Each PT In WS.PivotTables
            If PT.Name = PTName Then
                ExistPivot = True
                Exit Function
            End If
        Next PT
    Next WS
End Function

としてワークシートで使用すると=ExistPivot("xxx")、結果はTRUEまたはFALSEのいずれかになります

于 2013-07-19T12:34:19.927 に答える