Note: The other languages of the website are Google-translated. Back to English

Bagaimana cara menghubungkan filter Tabel Pivot ke sel tertentu di Excel?

Jika Anda ingin menautkan filter Tabel Pivot ke sel tertentu, dan membuat Tabel Pivot difilter berdasarkan nilai sel, metode dalam artikel ini dapat membantu Anda.

Tautkan filter Tabel Pivot ke sel tertentu dengan kode VBA


Tautkan filter Tabel Pivot ke sel tertentu dengan kode VBA

Tabel Pivot Anda akan menautkan fungsi filternya ke nilai sel harus menyertakan bidang filter (nama bidang filter mengambil peran penting dalam kode VBA berikut).

Ambil Tabel Pivot di bawah ini sebagai contoh, Bidang filter di Tabel Pivot disebut Kategori, dan itu mencakup dua nilai "Beban"Dan"Penjualan". Setelah menautkan filter Tabel Pivot ke sel, nilai sel yang akan Anda terapkan untuk menyaring Tabel Pivot harus "Pengeluaran" dan "Penjualan".

1. Pilih sel (di sini saya pilih sel H6) Anda akan menghubungkan ke fungsi filter Tabel Pivot, dan memasukkan salah satu nilai filter ke dalam sel terlebih dahulu.

2. Buka lembar kerja yang berisi Tabel Pivot yang akan Anda tautkan ke sel. Klik kanan tab lembar dan pilih Lihat kode dari menu konteks. Lihat tangkapan layar:

3. Dalam Microsoft Visual Basic untuk Aplikasi jendela, salin di bawah kode VBA ke jendela Kode.

Kode VBA: Menautkan filter Tabel Pivot ke sel tertentu

Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20180702
    Dim xPTable As PivotTable
    Dim xPFile As PivotField
    Dim xStr As String
    On Error Resume Next
    If Intersect(Target, Range("H6")) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xPTable = Worksheets("Sheet1").PivotTables("PivotTable2")
    Set xPFile = xPTable.PivotFields("Category")
    xStr = Target.Text
    xPFile.ClearAllFilters
    xPFile.CurrentPage = xStr
    Application.ScreenUpdating = True
End Sub

Catatan:

1) "Sheet1"Adalah nama lembar kerja yang dibuka.
2) "Tabel Pivot2”Adalah nama Tabel Pivot Anda akan menghubungkan fungsi filternya ke sel.
3) Bidang pemfilteran di tabel pivot disebut "Kategori".
4) Sel yang direferensikan adalah H6. Anda dapat mengubah nilai variabel ini berdasarkan kebutuhan Anda.

4. tekan lain + Q kunci untuk menutup Microsoft Visual Basic untuk Aplikasi jendela.

Sekarang fungsi filter dari Tabel Pivot ditautkan ke sel H6.

Segarkan sel H6, lalu data yang sesuai di Tabel Pivot disaring berdasarkan nilai yang ada. Lihat tangkapan layar:

Saat mengubah nilai sel, data yang difilter di Tabel Pivot akan diubah secara otomatis. Lihat tangkapan layar:


Pilih seluruh baris dengan mudah berdasarkan nilai sel di kolom tertentu:

The Pilih Sel Spesifik kegunaan Kutools untuk Excel dapat membantu Anda dengan cepat memilih seluruh baris berdasarkan nilai sel di kolom tertentu di Excel seperti gambar di bawah ini. Setelah memilih semua baris berdasarkan nilai sel, Anda dapat memindahkan atau menyalinnya secara manual ke lokasi baru sesuai kebutuhan di Excel.
Unduh dan coba sekarang! (30- jalur bebas hari)


Artikel terkait:


Alat Produktivitas Kantor Terbaik

Kutools for Excel Memecahkan Sebagian Besar Masalah Anda, dan Meningkatkan Produktivitas Anda hingga 80%

  • Reuse: Masukkan dengan cepat rumus, bagan yang kompleks dan apa pun yang pernah Anda gunakan sebelumnya; Enkripsi Sel dengan kata sandi; Buat Milis dan mengirim email ...
  • Bilah Formula Super (dengan mudah mengedit beberapa baris teks dan rumus); Membaca Tata Letak (membaca dan mengedit sel dalam jumlah besar dengan mudah); Tempel ke Rentang yang Difilter...
  • Gabungkan Sel / Baris / Kolom tanpa kehilangan Data; Pisahkan Konten Sel; Gabungkan Baris / Kolom Duplikat... Mencegah Sel Duplikat; Bandingkan Rentang...
  • Pilih Duplikat atau Unik Baris; Pilih Baris Kosong (semua sel kosong); Temukan Super dan Temukan Fuzzy di Banyak Buku Kerja; Pilih Acak ...
  • Salinan Tepat Beberapa Sel tanpa mengubah referensi rumus; Buat Referensi Otomatis ke Beberapa Lembar; Sisipkan Poin, Kotak Centang, dan lainnya ...
  • Ekstrak Teks, Tambahkan Teks, Hapus berdasarkan Posisi, Hapus Space; Membuat dan Mencetak Subtotal Paging; Konversi Konten Antar Sel dan Komentar...
  • Filter Super (simpan dan terapkan skema filter ke sheet lain); Penyortiran Lanjutan menurut bulan / minggu / hari, frekuensi dan lainnya; Filter Khusus dengan huruf tebal, miring ...
  • Gabungkan Workbooks dan WorkSheets; Gabungkan Tabel berdasarkan kolom kunci; Pisahkan Data menjadi Beberapa Lembar; Konversi Batch xls, xlsx dan PDF...
  • Lebih dari 300 fitur canggih. Mendukung Office / Excel 2007-2021 dan 365. Mendukung semua bahasa. Penerapan yang mudah di perusahaan atau organisasi Anda. Fitur lengkap Uji coba gratis 30 hari. Jaminan uang kembali 60 hari.
tab kte 201905

Tab Office Membawa antarmuka Tab ke Office, dan Membuat Pekerjaan Anda Jauh Lebih Mudah

  • Aktifkan pengeditan dan pembacaan tab di Word, Excel, PowerPoint, Publisher, Access, Visio, dan Project.
  • Buka dan buat banyak dokumen di tab baru di jendela yang sama, bukan di jendela baru.
  • Meningkatkan produktivitas Anda sebesar 50%, dan mengurangi ratusan klik mouse untuk Anda setiap hari!
officetab bawah
Urutkan komentar berdasarkan
komentar (36)
Belum ada peringkat. Jadilah yang pertama memberi peringkat!
Komentar ini diminimalkan oleh moderator di situs
bagaimana melakukannya di banyak bidang karena dalam kode hanya ada satu target
Komentar ini diminimalkan oleh moderator di situs
Hai Frank
Sory tidak dapat membantu Anda dengan itu.
Komentar ini diminimalkan oleh moderator di situs
Bagaimana jika sel yang ditautkan ke Tabel Pivot, dalam hal ini H6, ada di lembar kerja lain? Bagaimana cara mengubah kodenya?
Komentar ini diminimalkan oleh moderator di situs
bagaimana jika saya memiliki lebih dari 1 tabel pivot dan menautkan ke 1 sel. Bagaimana saya harus mengubah kode?
Komentar ini diminimalkan oleh moderator di situs
Hai Jeri,
Maaf tidak dapat membantu Anda dengan itu. Selamat datang untuk memposting pertanyaan apa pun di forum kami: https://www.extendoffice.com/forum.html untuk mendapatkan lebih banyak dukungan Excel dari profesional Excel atau penggemar Excel lainnya.
Komentar ini diminimalkan oleh moderator di situs
temukan ini dan ubah di Array(),Intersect(), Worksheets(), PivotFields()

Tabel Pivot1
Tabel Pivot2
Tabel Pivot3
Tabel Pivot4
H1
NamaLembar
Nama Bidang




Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20180702
    Dim xPTable As PivotTable
    Dim xPFile As PivotField
    Dim xPTabled As PivotTable
    Dim xPFiled As PivotField
    Dim xStr As String
    On Error Resume Next
    '리스트 만들기
    Dim listArray() As Variant
    listArray = Array("PivotTable1", "PivotTable2", "PivotTable3", "PivotTable4")
    If Intersect(Target, Range("H1")) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    For i = 0 To UBound(listArray)
        Set xPTable = Worksheets("SheetName").PivotTables(listArray(i))
        Set xPFile = xPTable.PivotFields("FieldName")
        'MsgBox (listArray(i))
        xStr = Target.Text
        xPFile.ClearAllFilters
        xPFile.CurrentPage = xStr
    Next
        Application.ScreenUpdating = True
End Sub
Komentar ini diminimalkan oleh moderator di situs
Boa lambat...! tima publicação, como faço para utilizar o filtro em duas ou mais tabelas dinâmicas...? Agradeço desde já.

Selamat sore...! Penerbitan yang bagus, bagaimana cara menggunakan filter di dua atau lebih PivotTable ...? Terima kasih sebelumnya.
Komentar ini diminimalkan oleh moderator di situs
Hai Gilmar Alves,
Maaf tidak dapat membantu Anda dengan itu. Selamat datang untuk memposting pertanyaan apa pun di forum kami: https://www.extendoffice.com/forum.html untuk mendapatkan lebih banyak dukungan Excel dari profesional Excel atau penggemar Excel lainnya.
Komentar ini diminimalkan oleh moderator di situs
Adakah yang menemukan pertanyaan yang menghubungkan beberapa tabel pivot?
Komentar ini diminimalkan oleh moderator di situs
Ubah Nilai di Array(), Worksheets() dan Intersect()



**Temukan ini dan ubah**
NamaLembar
E1
Tabel Pivot1
Tabel Pivot2
Tabel Pivot3




Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
'Perbarui oleh Extendoffice 20180702
Redupkan xPTable Sebagai PivotTable
Redupkan xPFile Sebagai PivotField

Redupkan xPTabled Sebagai PivotTable
Redupkan xPFiled Sebagai PivotField

Redupkan xStr Sebagai String



On Error Resume Next

'
Redup listArray() Sebagai Varian
listArray = Array("PivotTable1", "PivotTable2", "PivotTable3")



Jika Intersect(Target, Range("E1")) Tidak Ada Lalu Keluar Sub
Application.ScreenUpdating = Salah

Untuk i = 0 Ke UBound(listArray)

Atur xPTable = Worksheets("SheetName").PivotTables(listArray(i))
Setel xPFile = xPTable.PivotFields("Company_ID")

xStr = Target.Teks
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr



Next

Application.ScreenUpdating = Benar



End Sub
Komentar ini diminimalkan oleh moderator di situs
Ciao, sto memberikan tarif lo stesso esempio per far in modo che il filter della pivot si setti sul valore della cella,
bukan riesco a farla funzionare.

Quale passaggio manca nella descrizione sopra?
Komentar ini diminimalkan oleh moderator di situs
Hai,
Apakah Anda mendapatkan prompt kesalahan? Saya perlu tahu lebih spesifik tentang masalah Anda, seperti versi Excel Anda. Dan jika Anda tidak keberatan, coba buat data Anda di buku kerja baru dan coba lagi, atau ambil tangkapan layar data Anda dan unggah di sini.
Komentar ini diminimalkan oleh moderator di situs
Hai,

Mencoba membuatnya berfungsi untuk filter kolom tetapi sepertinya tidak berhasil. Apakah saya memerlukan kode lain untuk itu?

Terima kasih
Komentar ini diminimalkan oleh moderator di situs
Hai Justin,
Apakah Anda mendapatkan prompt kesalahan? Saya perlu tahu lebih spesifik tentang masalah Anda.
Sebelum menerapkan kode, jangan lupa untuk mengubah "nama lembar""nama tabel pivot""nama filter tabel pivot" dan sel Anda ingin memfilter tabel pivot berdasarkan (lihat sceenshot).
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/4.png
Komentar ini diminimalkan oleh moderator di situs
Hai Kristal,

Terima kasih atas bantuan Anda. Masalahnya adalah fungsi tidak melakukan apa pun karena alasan tertentu. Beberapa klarifikasi:

Nama pivot: Order_Comp_B2C
Nama Lembar: Lembar Perhitungan
Nama filter: Nomor Minggu (Saya mengubah nama ini dari "Nomor Minggu Pengiriman" di file data)
Sel yang akan diubah: O26 dan O27 (ini harus dalam jangkauan)

Dalam pivot ini, saya mencoba mengubah filter untuk kolom, saya tidak memiliki apa pun di area filter di menu Bidang PivotTable.

kode saya adalah:

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
'Perbarui oleh Extendoffice 20180702
Redupkan xPTable Sebagai PivotTable
Redupkan xPFile Sebagai PivotField
Redupkan xStr Sebagai String
On Error Resume Next
Jika Intersect(Target, Range("O26")) Tidak Ada Lalu Keluar Sub
Application.ScreenUpdating = Salah
Set xPTable = Worksheets("Calculation Sheet").PivotTables("Order_Comp_B2C")
Setel xPFile = xPTable.PivotFields("Nomor Minggu")
xStr = Target.Teks
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr
Application.ScreenUpdating = Benar
End Sub

Terima kasih,

Justin
Komentar ini diminimalkan oleh moderator di situs
Halo Justin Teeuw,
Saya telah mengubah Nama poros, nama lembar, nama filter serta sel untuk berubah dengan kondisi yang Anda sebutkan di atas, dan mencoba kode VBA yang Anda berikan, itu berfungsi dengan baik dalam kasus saya. Lihat GIF berikut atau buku kerja terlampir.
Apakah Anda keberatan membuat buku kerja baru dan mencoba kodenya lagi?
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/6.gif
Komentar ini diminimalkan oleh moderator di situs
Hai Kristal,

Terlampir tangkapan layar pivot, kotak merah adalah filter yang ingin saya ubah berdasarkan nilai sel.

Lebih disukai saya ingin menggunakan rentang sel yang menunjukkan beberapa nomor minggu.

Terima kasih,

Justin
Komentar ini diminimalkan oleh moderator di situs
Hai Justin,
Maaf saya tidak melihat tangkapan layar yang Anda lampirkan di halaman. Mungkin ada beberapa kesalahan pada halaman.
Jika Anda masih perlu menyelesaikan masalah, email saya melalui zxm@addin99.com. Maaf untuk ketidaknyamanannya.
Komentar ini diminimalkan oleh moderator di situs
Hai Justin Teeuw
Silakan coba kode VBA berikut. Semoga saya bisa membantu.

Private Sub Worksheet_Change(ByVal Target As Range)
    'Update by Extendoffice 20220706
    Dim I As Integer
    Dim xFilterStr1, xFilterStr2 As String
    On Error Resume Next
    If Intersect(Target, Range("O26:O27")) Is Nothing Then Exit Sub
    'Application.ScreenUpdating = False
    
    xFilterStr1 = Range("O26").Value
    xFilterStr2 = Range("O27").Value
    ActiveSheet.PivotTables("Order_Comp_B2C").PivotFields("Week Number"). _
        ClearAllFilters
    If xFilterStr1 = "" And xFilterStr2 = "" Then Exit Sub
    ActiveSheet.PivotTables("Order_Comp_B2C").PivotFields("Week Number"). _
        EnableMultiplePageItems = True
    xCount = ActiveSheet.PivotTables("Order_Comp_B2C").PivotFields("Week Number").PivotItems.Count

    For I = 1 To xCount
        If I <> xFilterStr1 And I <> xFilterStr2 Then
            ActiveSheet.PivotTables("Order_Comp_B2C").PivotFields("Week Number").PivotItems(I).Visible = False
        Else
            ActiveSheet.PivotTables("Order_Comp_B2C").PivotFields("Week Number").PivotItems(I).Visible = True
        End If
    Next

    'Application.ScreenUpdating = True
End Sub
Komentar ini diminimalkan oleh moderator di situs
Saya menggunakannya untuk excel normal dan berhasil. Tapi saya tidak bisa menggunakannya untuk lembar kerja olap. mungkin saya perlu mengubahnya sedikit?
Komentar ini diminimalkan oleh moderator di situs
Hai maziaritib4 TIB,
Metode ini hanya tersedia untuk Microsoft Excel. Maaf untuk ketidaknyamanannya.
Komentar ini diminimalkan oleh moderator di situs
Hai Justin,

Ini telah bekerja dengan sempurna, namun, saya bertanya-tanya apakah aturan ini dapat diterapkan ke beberapa PivotTable dalam lembar yang sama?

Terima kasih,
James
Komentar ini diminimalkan oleh moderator di situs
Hi James,

Ya ini mungkin, kode yang saya gunakan untuk ini adalah (4 pivot dan 2 referensi sel):

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Redupkan Aku Sebagai Bilangan Bulat
Redupkan xFilterStr1, xFilterStr2, yFilterstr1, yfilterstr2 Sebagai String
On Error Resume Next
Jika Intersect(Target, Range("O26:P27")) Tidak Ada Lalu Keluar Sub

xFilterStr1 = Range("O26").Nilai
xFilterStr2 = Range("O27").Nilai
yFilterstr1 = Rentang("p26").Nilai
yfilterstr2 = Rentang("p27").Nilai
ActiveSheet.PivotTables("Order_Comp_B2C_Crea").PivotFields("Nomor Minggu"). _
ActiveSheet.PivotTables("Order_Comp_B2B_Crea").PivotFields("Nomor Minggu"). _
ActiveSheet.PivotTables("Order_Comp_B2C_Disp").PivotFields("Nomor Minggu"). _
ActiveSheet.PivotTables("Order_Comp_B2B_Disp").PivotFields("Nomor Minggu"). _
Hapus Semua Filter

Jika xFilterStr1 = "" Dan xFilterStr2 = "" Dan yFilterstr1 = "" Dan yfilterstr2 = "" Kemudian Keluar Sub
ActiveSheet.PivotTables("Order_Comp_B2C_Crea").PivotFields("Nomor Minggu"). _
ActiveSheet.PivotTables("Order_Comp_B2B_Crea").PivotFields("Nomor Minggu"). _
ActiveSheet.PivotTables("Order_Comp_B2C_Disp").PivotFields("Nomor Minggu"). _
ActiveSheet.PivotTables("Order_Comp_B2B_Disp").PivotFields("Nomor Minggu"). _
EnableMultiplePageItems = Benar

xCount = ActiveSheet.PivotTables("Order_Comp_B2C_Crea").PivotFields("Nomor Minggu").PivotItems.Count
xCount = ActiveSheet.PivotTables("Order_Comp_B2B_Crea").PivotFields("Nomor Minggu").PivotItems.Count
yCount = ActiveSheet.PivotTables("Order_Comp_B2C_Disp").PivotFields("Nomor Minggu").PivotItems.Count
yCount = ActiveSheet.PivotTables("Order_Comp_B2B_Disp").PivotFields("Nomor Minggu").PivotItems.Count

Untuk I = 1 Untuk xHitung
Jika saya <> xFilterStr1 Dan saya <> xFilterStr2 Kemudian
ActiveSheet.PivotTables("Order_Comp_B2C_Crea").PivotFields("Nomor Minggu").PivotItems(I).Visible = False
ActiveSheet.PivotTables("Order_Comp_B2B_Crea").PivotFields("Nomor Minggu").PivotItems(I).Visible = False
Lain
ActiveSheet.PivotTables("Order_Comp_B2C_Crea").PivotFields("Nomor Minggu").PivotItems(I).Visible = True
ActiveSheet.PivotTables("Order_Comp_B2B_Crea").PivotFields("Nomor Minggu").PivotItems(I).Visible = True
End If
Next

Untuk I = 1 Untuk yCount
Jika saya <> yFilterstr1 Dan saya <> yfilterstr2 Kemudian
ActiveSheet.PivotTables("Order_Comp_B2C_Disp").PivotFields("Nomor Minggu").PivotItems(I).Visible = False
ActiveSheet.PivotTables("Order_Comp_B2B_Disp").PivotFields("Nomor Minggu").PivotItems(I).Visible = False
Lain
ActiveSheet.PivotTables("Order_Comp_B2C_Disp").PivotFields("Nomor Minggu").PivotItems(I).Visible = True
ActiveSheet.PivotTables("Order_Comp_B2B_Disp").PivotFields("Nomor Minggu").PivotItems(I).Visible = True
End If
Next

End Sub
Komentar ini diminimalkan oleh moderator di situs
Ubah Nilai di Array(), Worksheets() dan Intersect()



**Temukan ini dan ubah**
NamaLembar
E1
Tabel Pivot1
Tabel Pivot2
Tabel Pivot3




Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
'Perbarui oleh Extendoffice 20180702
Redupkan xPTable Sebagai PivotTable
Redupkan xPFile Sebagai PivotField

Redupkan xPTabled Sebagai PivotTable
Redupkan xPFiled Sebagai PivotField

Redupkan xStr Sebagai String



On Error Resume Next

'
Redup listArray() Sebagai Varian
listArray = Array("PivotTable1", "PivotTable2", "PivotTable3")



Jika Intersect(Target, Range("E1")) Tidak Ada Lalu Keluar Sub
Application.ScreenUpdating = Salah

Untuk i = 0 Ke UBound(listArray)

Atur xPTable = Worksheets("SheetName").PivotTables(listArray(i))
Setel xPFile = xPTable.PivotFields("Company_ID")

xStr = Target.Teks
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr



Next

Application.ScreenUpdating = Benar



End Sub
Komentar ini diminimalkan oleh moderator di situs
Halo,

Kode berfungsi dengan baik untuk saya. Namun saya tidak bisa mendapatkan tabel pivot untuk memperbarui target filter secara otomatis. Target dalam kasus saya adalah rumus [DATE(D18,S14,C18)]. Kode hanya berfungsi ketika saya mengklik dua kali sel target dan tekan enter.

Terima kasih
Komentar ini diminimalkan oleh moderator di situs
Halo,

Kode ini bekerja dengan sempurna. Namun saya tidak bisa mendapatkan kode untuk memperbarui tabel pivot secara otomatis. Nilai target bagi saya adalah rumus (=DATE(D18,..,..)) yang berubah tergantung pada apa yang dipilih pada H18. Untuk memperbarui tabel pivot saya harus mengklik dua kali sel target dan tekan enter. Apakah ada cara untuk mengatasinya?

Terima kasih
Komentar ini diminimalkan oleh moderator di situs
Halo ST,
Misalkan nilai target Anda di H6 dan berubah tergantung pada nilai di D18. Untuk memfilter tabel pivot berdasarkan nilai target ini. Kode VBA berikut dapat membantu. Ayo cobalah.
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2022/07/22
Dim xPTable As PivotTable
Dim xPFile As PivotField
Dim xStr As String
Dim xBoolean As Boolean
Dim xItsRG As Range
Dim xDDs As Range
Dim xDs As Range
On Error Resume Next

xBoolean = False
Set xRg = Range("h6")

Set xItsRG = Intersect(Target, xRg)
Set xDDs = Intersect(Target.DirectDependents, xRg)
Set xDs = Intersect(Target.Dependents, xRg)
If Not (xItsRG Is Nothing) Then
    xBoolean = True
ElseIf Not (xDDs Is Nothing) Then
    xBoolean = True
ElseIf Not (xDs Is Nothing) Then
    xBoolean = True
End If


If Not xBoolean Then Exit Sub

Application.ScreenUpdating = False
Set xPTable = Worksheets("Sheet1").PivotTables("Pivot Table 1")
Set xPFile = xPTable.PivotFields("Category")
xStr = Target.Text
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr
Application.ScreenUpdating = True

End Sub
Komentar ini diminimalkan oleh moderator di situs
Halo Kristal,

Saya menambahkan baris pada kode: Dim xRg As Range

Kode tidak secara otomatis mengatur ulang tanggal ketika target diubah. Saya memiliki file excel yang mereplikasi apa yang saya coba lakukan, saya tidak dapat menambahkan lampiran di situs web ini. D3 (target = DATE(A15,B15,C15)) memiliki persamaan yang terhubung ke A15, B15 dan C15. Ketika nilai apapun pada A15, B15 dan C15 diubah, tabel pivot disetel ulang ke tanpa filter. Bisakah Anda membantu saya dalam hal ini?
Komentar ini diminimalkan oleh moderator di situs
Hai ST,
Saya tidak begitu mengerti apa yang Anda maksud. Dalam kasus Anda, nilai sel target D3 digunakan untuk memfilter tabel pivot. Rumus di sel target D3 mereferensikan nilai sel A15, B15 dan C15, yang akan berubah sesuai dengan nilai di sel referensi. Ketika nilai apapun pada A15, B15 dan C15 diubah, tabel pivot akan difilter secara otomatis jika nilai di sel target memenuhi kondisi filter tabel pivot. Jika nilai dalam sel target tidak memenuhi kriteria pemfilteran tabel pivot, tabel pivot akan secara otomatis disetel ulang ke tanpa pemfilteran.
Komentar ini diminimalkan oleh moderator di situs
Saya tidak yakin apakah ada cara untuk berbagi file excel dengan Anda. Jika nilai target saya, yaitu tanggal, berubah sesuai dengan perubahan di sel lain. Saya harus mengklik dua kali pada sel target dan menekan enter (seperti yang Anda lakukan setelah memasukkan rumus dalam sel) untuk memperbarui tabel pivot
Komentar ini diminimalkan oleh moderator di situs
Hai Sagar T,
Kode telah diperbarui. Ayo cobalah. Terima kasih atas tanggapan Anda.
Jangan lupa untuk mengganti nama lembar kerja, tabel pivot dan filter dalam kode. Atau Anda dapat mengunduh buku kerja yang diunggah berikut untuk pengujian.

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220805
Dim xPTable As PivotTable
Dim xPFile As PivotField
Dim xStr As String
Dim xBoolean As Boolean
Dim xItsRG As Range
Dim xDDs As Range
Dim xDs As Range
On Error Resume Next

xBoolean = False
Set xRg = Range("D3")

Set xItsRG = Intersect(Target, xRg)
Set xDDs = Intersect(Target.DirectDependents, xRg)
Set xDs = Intersect(Target.Dependents, xRg)
If Not (xItsRG Is Nothing) Then
    xBoolean = True
ElseIf Not (xDDs Is Nothing) Then
    xBoolean = True
ElseIf Not (xDs Is Nothing) Then
    xBoolean = True
End If


If Not xBoolean Then Exit Sub
xStr = Format(xRg.Text, "m/d/yyyy")
Application.ScreenUpdating = False
Set xPTable = Worksheets("Sheet2").PivotTables("PivotTable1")
Set xPFile = xPTable.PivotFields("Date")
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr
Application.ScreenUpdating = True

End Sub
Komentar ini diminimalkan oleh moderator di situs
temukan ini dan ubah di Array(),Intersect(), Worksheets(), PivotFields()

Tabel Pivot1
Tabel Pivot2
Tabel Pivot3
Tabel Pivot4
H1
NamaLembar
Nama Bidang




Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20180702
    Dim xPTable As PivotTable
    Dim xPFile As PivotField
    Dim xPTabled As PivotTable
    Dim xPFiled As PivotField
    Dim xStr As String
    On Error Resume Next
    '리스트 만들기
    Dim listArray() As Variant
    listArray = Array("PivotTable1", "PivotTable2", "PivotTable3", "PivotTable4")
    If Intersect(Target, Range("H1")) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    For i = 0 To UBound(listArray)
        Set xPTable = Worksheets("SheetName").PivotTables(listArray(i))
        Set xPFile = xPTable.PivotFields("FieldName")
        'MsgBox (listArray(i))
        xStr = Target.Text
        xPFile.ClearAllFilters
        xPFile.CurrentPage = xStr
    Next
        Application.ScreenUpdating = True
End Sub
Komentar ini diminimalkan oleh moderator di situs
Apakah Anda ingin 2 orang atau lebih dari 2 tahun? а не 1 как в примере?
Komentar ini diminimalkan oleh moderator di situs
Hai Алексей,

Silakan periksa apakah kode VBA dalam komentar ini #38754 dapat membantu.
Komentar ini diminimalkan oleh moderator di situs
Apa yang membuat H6 Anda tidak memiliki kunci? bagaimana caranya? подскажите пожалуйста.
Komentar ini diminimalkan oleh moderator di situs
Hai Алексей,

Anda tidak perlu mengubah kodenya, cukup tambahkan kode VBA ke lembar kerja sel yang ingin Anda rujuk.
Misalnya, jika Anda ingin memfilter tabel pivot bernama "Tabel Pivot1"Dalam Sheet2 berdasarkan nilai sel H6 in Sheet3, silahkan klik kanan Sheet3 tab lembar kerja, klik Lihat kode dari menu klik kanan, lalu tambahkan kode ke Lembar3 (Kode) jendela.
Belum ada komentar yang diposting di sini
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan

Ikuti kami

Hak Cipta © 2009 - www.extendoffice.com. | Seluruh hak cipta. Dipersembahkan oleh ExtendOffice. | Peta Situs
Microsoft dan logo Office adalah merek dagang atau merek dagang terdaftar dari Microsoft Corporation di Amerika Serikat dan / atau negara lain.
Dilindungi oleh Sectigo SSL