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

如何在Excel中通過工作表滾動來保持數據透視表切片器移動?

使用數據透視表時,您可以插入切片器以可視化方式過濾表中的數據。 本文討論的是在滾動工作表時始終保持透視表切片器始終可見。

使用VBA代碼通過工作表滾動使數據透視表的切片器保持移動


使用VBA代碼通過工作表滾動使數據透視表的切片器保持移動

下面的VBA腳本可以幫助您使數據透視表的切片器隨工作表一起移動。 請執行以下操作。

1。 按 其他 + F11 同時打開 Microsoft Visual Basic for Applications 窗口。

2。 在裡面 Microsoft Visual Basic for Applications 窗口,雙擊 的ThisWorkbook 在左側“項目”窗格中,然後將以下VBA代碼複製並粘貼到 本工作簿(代碼) 窗口。 看截圖:

VBA代碼:通過工作表滾動使數據透視表的切片器保持移動

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Dim ShF As Shape
    Dim ShM As Shape
    'specify a slicer
    Application.ScreenUpdating = False
    Set ShF = ActiveSheet.Shapes("Column1")
    Set ShM = ActiveSheet.Shapes("Column2")
    'change position of the slicer
    With Windows(1).VisibleRange.Cells(1, 1)
        ShF.Top = .Top
        ShF.Left = .Left + 300
        ShM.Top = .Top
        ShM.Left = .Left + 100
    End With
    Application.ScreenUpdating = True
End Sub

筆記:

1)。 在代碼中,Column1和Column2是切片器的名稱。

2)。 您可以在滾動代碼中的工作表時指定切片器的位置。

3)。 您可以根據需要在代碼中添加更多切片器,也可以從中刪除切片器。

3。 按 其他 + Q 關閉鍵 Microsoft Visual Basic for Applications 窗口對話框。

從現在開始,滾動工作表時,指定的切片器將與活動單元格一起移動。 看截圖:


相關文章:


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (10)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
嗨,
感謝您提供此 VBA。

我完全不知道 VBA,因此我的問題。

我使用了這個 VBA,我有一個問題。
我如何更改此 VBA 使其僅適用於一張紙。

現在,我有 8 張工作表,每次我轉到另一張工作表時,它都會失敗並要求我結束或調試。
我已經完全按照上面所示的方式完成了。


這是我的VBA ..
Private Sub Workbook_SheetSelectionChange(ByVal Sh 作為對象,ByVal 目標作為範圍)
將 ShF 調暗為形狀
將 ShM 調暗為形狀
'指定一個切片器
Application.ScreenUpdating = False
設置 ShF = ActiveSheet.Shapes("Client 1")
設置 ShM = ActiveSheet.Shapes("提醒 1")
'改變切片器的位置
使用 Windows(1).VisibleRange.Cells(1, 1)
ShF.Top = .Top + 2
ShF.左 = .左 + 475
ShM.Top = .Top + 180
ShM.Left = .Left + 475
結束
Application.ScreenUpdating = True
END SUB


請大家幫忙。
網站主持人對此評論進行了最小化
嗨,
感謝您提供此 VBA。

我完全不知道 VBA,因此我的問題。

我使用了這個 VBA,我有一個問題。
我如何更改此 VBA 使其僅適用於一張紙。

現在,我有 8 張工作表,每次我轉到另一張工作表時,它都會失敗並要求我結束或調試。
我已經完全按照上面所示的方式完成了。


這是我的VBA ..
Private Sub Workbook_SheetSelectionChange(ByVal Sh 作為對象,ByVal 目標作為範圍)
將 ShF 調暗為形狀
將 ShM 調暗為形狀
'指定一個切片器
Application.ScreenUpdating = False
設置 ShF = ActiveSheet.Shapes("Client 1")
設置 ShM = ActiveSheet.Shapes("提醒 1")
'改變切片器的位置
使用 Windows(1).VisibleRange.Cells(1, 1)
ShF.Top = .Top + 2
ShF.左 = .左 + 475
ShM.Top = .Top + 180
ShM.Left = .Left + 475
結束
Application.ScreenUpdating = True
END SUB


請大家幫忙。
網站主持人對此評論進行了最小化
親愛的約翰,
切換到您希望 VBA 代碼僅用於的工作表,然後右鍵單擊工作表選項卡並從上下文菜單中選擇查看代碼。
然後將下面的 VBA 代碼複製並粘貼到打開的代碼窗口中。 見下面的截圖:

私人子工作表_SelectionChange(ByVal Target As Range)
將 ShF 調暗為形狀
將 ShM 調暗為形狀
'指定一個切片器
Application.ScreenUpdating = False
設置 ShF = ActiveSheet.Shapes("水果")
設置 ShM = ActiveSheet.Shapes("Sale")
'改變切片器的位置
使用 Windows(1).VisibleRange.Cells(1, 1)
ShF.Top = .Top
ShF.左 = .左 + 300
ShM.Top = .Top
ShM.Left = .Left + 100
結束
Application.ScreenUpdating = True
END SUB
查看附件 (1 / 5)
網站主持人對此評論進行了最小化
親愛的水晶,

非常感謝您提供的代碼。
我完全按照你說的做了,它就像一個魅力。

真的很感激。
乾杯:)
網站主持人對此評論進行了最小化
嗨,我已經按照您的指示更新了我的代碼。 切片器不再隨窗口滾動,但是如果我單擊新單元格,則切片器將移動。 這是正確的行為嗎?
網站主持人對此評論進行了最小化
第一行表示什麼,我們如何自定義它以適合我們的切片器?
我基本上在每一行都對此感到非常困惑。
網站主持人對此評論進行了最小化
親愛的凱蒂
我不知道我是否完全理解你的問題。
正如我在上面的註釋中提到的,您需要將 Column1 和 Column2 替換為代碼中切片器的名稱,以使切片器隨著工作表滾動。
網站主持人對此評論進行了最小化
我有 4 個切片器,通過選擇所有 4 個切片器並右鍵單擊以使用 group 命令將它們組合在一起。

是否可以按組分配此 VBA? 您如何標記該組並編寫 VBA 以將其識別為一個組?
網站主持人對此評論進行了最小化
嗨邁克爾,
抱歉幫不上忙。 謝謝你的評論。
網站主持人對此評論進行了最小化
好的,所以標題是“如何保持數據透視表切片器隨工作表移動 滾動 在 Excel 中?”,但是這個 VBA 代碼只對當前選定的單元格執行此操作,我們如何為 滾動 的工作簿,而不僅僅是選定的單元格?
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護