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

Excelでワークシートをスクロールしてピボットテーブルのスライサーを動かし続けるにはどうすればよいですか?

ピボットテーブルの操作中に、スライサーを挿入して、テーブルのデータを視覚的にフィルタリングできます。 この記事では、ワークシートをスクロールしている間、ピボットテーブルのスライサーを常に表示することについて説明しています。

VBAコードを使用してワークシートをスクロールしながら、ピボットテーブルのスライサーを動かし続けます


VBAコードを使用してワークシートをスクロールしながら、ピボットテーブルのスライサーを動かし続けます

次のVBAスクリプトは、ピボットテーブルのスライサーをワークシートで動かし続けるのに役立ちます。 次のようにしてください。

1。 プレス 他の + F11 キーを同時に開いて アプリケーション向け Microsoft Visual Basic 窓。

2。 の中に アプリケーション向け Microsoft Visual Basic ウィンドウ、ダブルクリック このワークブック 左側の[プロジェクト]ペインで、以下のVBAコードをコピーして ThisWorkbook(コード) 窓。 スクリーンショットを参照してください:

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 ウィンドウダイアログボックス。

これ以降、ワークシートをスクロールしながら、指定したスライサーがアクティブセルとともに移動します。 スクリーンショットを参照してください:


関連記事:


最高のオフィス生産性ツール

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (10)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、
このVBAをありがとうございます。

私はVBAについてまったく知らないので、私の質問です。

このVBAを使用しましたが、質問がありました。
このVBAを変更して、XNUMX枚のシートでのみ機能するようにするにはどうすればよいですか。

現在、8枚のシートがあり、別のシートに移動するたびに失敗し、終了またはデバッグするように求められます。
私は上記のように正確に行いました。


これが私のVBAです。
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object、ByVal Target As Range)
形状として薄暗い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.Left = .Left + 475
ShM.トップ = .トップ + 180
ShM.Left = .Left + 475
最後に
Application.ScreenUpdating = True
End Subの


助けてください。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、
このVBAをありがとうございます。

私はVBAについてまったく知らないので、私の質問です。

このVBAを使用しましたが、質問がありました。
このVBAを変更して、XNUMX枚のシートでのみ機能するようにするにはどうすればよいですか。

現在、8枚のシートがあり、別のシートに移動するたびに失敗し、終了またはデバッグするように求められます。
私は上記のように正確に行いました。


これが私のVBAです。
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object、ByVal Target As Range)
形状として薄暗い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.Left = .Left + 475
ShM.トップ = .トップ + 180
ShM.Left = .Left + 475
最後に
Application.ScreenUpdating = True
End Subの


助けてください。
このコメントは、サイトのモデレーターによって最小化されました
ジョン親愛なる、
VBAコードのみを使用するワークシートに移動し、[シート]タブを右クリックして、コンテキストメニューから[コードの表示]を選択します。
次に、以下のVBAコードをコピーして、開いているコードウィンドウに貼り付けます。 以下のスクリーンショットを参照してください。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
形状として薄暗いShF
形状として薄暗いShM
'スライサーを指定します
Application.ScreenUpdating = False
ShF = ActiveSheet.Shapes( "Fruit")を設定します
ShM = ActiveSheet.Shapes( "Sale")を設定します
'スライサーの位置を変更します
Windows(1).VisibleRange.Cells(1、1)の場合
ShF.Top = .Top
ShF.Left = .Left + 300
ShM.Top = .Top
ShM.Left = .Left + 100
最後に
Application.ScreenUpdating = True
End Subの
このコメントは、サイトのモデレーターによって最小化されました
親愛なるクリスタル、

コードをありがとうございました。
私はあなたが言った通りにやりました、そしてそれは魅力のように働きます。

心から感謝する。
乾杯:)
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、あなたが示したように私は私のコードを更新しました。 スライサーはウィンドウと一緒にスクロールしなくなりましたが、新しいセルをクリックすると、スライサーが移動します。 これは正しい動作ですか?
このコメントは、サイトのモデレーターによって最小化されました
最初の行は何を示しており、スライサーに合わせてどのようにカスタマイズしますか?
私は基本的にすべての行でそれについて非常に混乱しています。
このコメントは、サイトのモデレーターによって最小化されました
親愛なるケイティ
私はあなたの質問を完全に理解しているかどうかわかりません。
上記の注で述べたように、スライサーをワークシートでスクロールし続けるには、コード内でColumn1とColumn2をスライサーの名前に置き換える必要があります。
このコメントは、サイトのモデレーターによって最小化されました
4つすべてを選択し、右クリックしてgroupコマンドを使用することにより、4つのスライサーがグループ化されています。

このVBAをグループで割り当てることはできますか? グループにラベルを付け、VBAを記述してグループをXNUMXつとして認識するにはどうすればよいですか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちはマイケル、
申し訳ありませんがこれを助けることはできません。 ご意見ありがとうございます。
このコメントは、サイトのモデレーターによって最小化されました
さて、タイトルには「ピボットテーブルのスライサーをワークシートで動かし続ける方法」と書かれています。 スクローリング Excelでは?」ですが、このVBAコードは、現在選択されているセルに対してのみ実行します。 スクローリング 選択したセルだけでなく、ブックの
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護