دیوید متعجب است که آیا راهی برای نمایش نام PivotTables در خود PivotTable وجود دارد یا خیر.
پاسخ کوتاه این است که هیچ راهی برای انجام خودکار این کار وجود ندارد. پاسخ طولانیتر این است که میتوانید «تقلب» کنید و نامی را در PivotTable مجبور کنید. برای مثال، میتوانید سلول برچسب ردیف را در PivotTable انتخاب کنید و آن را ویرایش کنید (F2)، و هر نامی را که میخواهید تایپ کنید جایگزین هر چیزی کنید. این به دور از خودکار است، و هنگامی که PivotTable را بهروزرسانی میکنید، باید به یاد داشته باشید که سلول را دوباره ویرایش کنید.
راه دیگر برای اجبار کردن نام به PivotTable استفاده از ماکرو است. احتمالاً چند رویکرد وجود دارد که می توانید در کلان خود استفاده کنید. یک روش ایجاد یک جدول داده است که PivotTable شما بر اساس آن است. در ستون اول به جدول داده ها عنوان بدهید. (هر متن قدیمی برای عنوان انجام می شود، زیرا ماکرو آن را بازنویسی می کند.)
پس از ایجاد PivotTable، ماکرو زیر را اجرا کنید. نام PivotTable را تعیین می کند، آن را در عنوان جدول داده قرار می دهد، PivotTable را تازه می کند (بنابراین نام در آنجا ظاهر می شود)، و سپس نام فیلتر گزارش PivotTable را به روز می کند تا با نام PivotTable یکسان شود.
Sub GetPVName()
Dim pvt As PivotTable
Dim PVName As String
Get the PivotTable name from the ActiveSheet
If there are multiple PivotTables, this approach
ensures the macro will work with the last PivotTable
in the PivotTables collection
For Each pvt In ActiveSheet.PivotTables
PVName = pvt.Name
Next pvt
Put PivotTable name as a heading for the first
column of the data table
Range("Table1").Cells(0, 1) = PVName
Refresh the PivotTable
ActiveSheet.PivotTables(PVName).PivotCache.Refresh
Set the PivotTable name in the report filter
With ActiveSheet.PivotTables(PVName).PivotFields(PVName)
.Orientation = xlPageField
.Position = 1
End With
End Sub