intro
2018/03/25, 14:28
باسلام و احترام
برای فیلتر کردن پیوت می بایست به صورت دستی و با انتخاب موضوع مورد نظر برروی هریک از فیلدها انحام گیرد
سوال من در ارتباط به امکان کدنویسی برای فیلتر فیلد مورد نظرمان میباشد بطوری که فیلتر را هم به سلول خاصی مرتبط کرد و با نوشتن موضوع مورد نظر برای فیلتر شدن در سلول مذکور پیوت تیبل فیلتر شود
Sub FilterPivotField() Dim Field As PivotField
Field = ActiveSheet.PivotTables("PivotTable1").PivotFields("local_no")
Value = Range("$k$1")
Application.ScreenUpdating = False
With Field
If .Orientation = xlPageField Then
.CurrentPage = Value
ElseIf .Orientation = xlRowField Or .Orientation = xlColumnField Then
Dim i As Long
On Error Resume Next ' Needed to avoid getting errors when manipulating fields that were deleted from the data source.
' Set first item to Visible to avoid getting no visible items while working
.PivotItems(1).Visible = True
For i = 2 To Field.PivotItems.Count
If .PivotItems(i).Name = Value Then _
.PivotItems(i).Visible = True Else _
.PivotItems(i).Visible = False
Next i
If .PivotItems(1).Name = Value Then _
.PivotItems(1).Visible = True Else _
.PivotItems(1).Visible = False
End If
End With
Application.ScreenUpdating = True
End Sub
لازم به توضیح است که کد بالا را از اینترنت پیدا کردم ولی خطای زیر را داد
16302
برای فیلتر کردن پیوت می بایست به صورت دستی و با انتخاب موضوع مورد نظر برروی هریک از فیلدها انحام گیرد
سوال من در ارتباط به امکان کدنویسی برای فیلتر فیلد مورد نظرمان میباشد بطوری که فیلتر را هم به سلول خاصی مرتبط کرد و با نوشتن موضوع مورد نظر برای فیلتر شدن در سلول مذکور پیوت تیبل فیلتر شود
Sub FilterPivotField() Dim Field As PivotField
Field = ActiveSheet.PivotTables("PivotTable1").PivotFields("local_no")
Value = Range("$k$1")
Application.ScreenUpdating = False
With Field
If .Orientation = xlPageField Then
.CurrentPage = Value
ElseIf .Orientation = xlRowField Or .Orientation = xlColumnField Then
Dim i As Long
On Error Resume Next ' Needed to avoid getting errors when manipulating fields that were deleted from the data source.
' Set first item to Visible to avoid getting no visible items while working
.PivotItems(1).Visible = True
For i = 2 To Field.PivotItems.Count
If .PivotItems(i).Name = Value Then _
.PivotItems(i).Visible = True Else _
.PivotItems(i).Visible = False
Next i
If .PivotItems(1).Name = Value Then _
.PivotItems(1).Visible = True Else _
.PivotItems(1).Visible = False
End If
End With
Application.ScreenUpdating = True
End Sub
لازم به توضیح است که کد بالا را از اینترنت پیدا کردم ولی خطای زیر را داد
16302