Consejo: Otros idiomas son traducidos por Google. Puedes visitar el English versión de este enlace.
Iniciar sesión
x
or
x
x
Suscríbete
x

or

¿Cómo mantener el slicer de Pivot Table moviéndose con la hoja de trabajo desplazándose en Excel?

Al trabajar con Pivot Table, puede insertar slicers para filtrar los datos visualmente de la tabla. Este artículo habla de mantener slicer de Pivot Table siempre visible mientras se desplaza por la hoja de trabajo.

Mantenga la división de la tabla dinámica en movimiento con la hoja de trabajo desplazándose con el código VBA

Ficha Office Habilite la edición y navegación con pestañas en Office y haga su trabajo mucho más fácil ...
Kutools for Excel trae las características avanzadas de 300 a Excel y aumenta su productividad en 80%
  • Super Formula Bar (edite fácilmente varias líneas de texto y fórmula); Diseño de lectura (lee y edita fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas y mantener datos; Contenido de celdas divididas; Combinar filas duplicadas y suma / promedio... Prevenir células duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Celdas múltiples sin cambiar la referencia de fórmula; Crear referencias automáticamente a múltiples hojas; Insertar viñetas, Casillas de verificación y más ...
  • Fórmulas favoritas e insertadas rápidamente, Gamas, cuadros y cuadros; Cifrar celdas con contraseña Crear una lista de correo y enviar correos electrónicos ...
  • Extracto del texto, Agregar texto, Eliminar por posición, Eliminar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtro a otras hojas); Clasificación avanzada por mes / semana / día, frecuencia y más; Filtro especial por negrita, cursiva ...
  • Combinar libros de trabajo y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes xls, xlsx y PDF...
  • Kutools funciona con Office 2007-2019 y 365. Es compatible con todos los idiomas y es muy fácil de instalar o implementar. Funciones completas de prueba gratuita de 60-day.

flecha azul burbuja derechaMantenga la división de la tabla dinámica en movimiento con la hoja de trabajo desplazándose con el código VBA


La siguiente secuencia de comandos de VBA puede ayudarlo a mantener el slicer de Pivot Table moviéndose con la hoja de trabajo. Por favor haz lo siguiente.

1. presione el otro + F11 teclas simultáneamente para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. En el Microsoft Visual Basic para aplicaciones ventana, doble clic ThisWorkbook en el panel izquierdo del Proyecto, y luego copie y pegue el siguiente código VBA en el ThisWorkbook (Código) ventana. Ver captura de pantalla:

Código de VBA: mantenga la seccionadora de Pivot Table moviéndose con la hoja de trabajo desplazándose

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

Notas:

1). En el código, Column1 y Column2 son nombres de los slicers.

2). Puede especificar la posición de las segmentaciones mientras desplaza la hoja de trabajo en el código.

3). Y puede agregar más rebanadores al código o eliminar rebanadores de él según lo necesite.

3. presione el otro + Q teclas para cerrar el Microsoft Visual Basic para aplicaciones cuadro de diálogo de la ventana.

A partir de ahora, las cortadoras especificadas se moverán con la celda activa mientras se desplaza por la hoja de trabajo. Ver captura de pantalla:


flecha azul burbuja derechaArtículos relacionados:


Kutools for Excel: la mejor herramienta de productividad de Office aumenta su productividad en un 80%

  • Super Formula Bar (edite fácilmente varias líneas de texto y fórmula); Diseño de lectura (lee y edita fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas y mantener datos; Contenido de celdas divididas; Combinar filas duplicadas y suma / promedio... Prevenir células duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Celdas múltiples sin cambiar la referencia de fórmula; Crear referencias automáticamente a múltiples hojas; Insertar viñetas, Casillas de verificación y más ...
  • Fórmulas favoritas e insertadas rápidamente, Gamas, cuadros y cuadros; Cifrar celdas con contraseña Crear una lista de correo y enviar correos electrónicos ...
  • Extracto del texto, Agregar texto, Eliminar por posición, Eliminar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtro a otras hojas); Clasificación avanzada por mes / semana / día, frecuencia y más; Filtro especial por negrita, cursiva ...
  • Combinar libros de trabajo y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes xls, xlsx y PDF...
  • Funciona con Office 2007-2019 y 365, y es compatible con todos los idiomas. Es fácil de implementar en su empresa. Funciones completas de prueba gratuita de 60-day.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilitar la edición y lectura con pestañas en Word, Excel, PowerPoint, Editor, Acceso, Visio y Proyecto.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta tu productividad en un 50% y reduce cientos de clics de ratón por ti todos los días!
fondo officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    MICHAEL · 1 years ago
    I have 4 slicers which have been grouped together by selecting all 4 and the right clicking to use the group command.

    Is it possible to assign this VBA by a group? How do you label the group and write the VBA to recognize it as one?
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Hi Michael,
      Sorry can't help with this. Thanks for your comment.
  • To post as a guest, your comment is unpublished.
    Katie · 1 years ago
    What does the first row indicate and how do we customize it to suit our slicer?
    I'm very confused about that on basically every line.
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Dear Katie
      I don't know if I totally understand your question.
      As I mentioned in above Notes, you need to replace Column1 and Column2 with the names of your slicers in the code in order to keep your slicer scrolling with the worksheet.
  • To post as a guest, your comment is unpublished.
    John Fernandes · 1 years ago
    Hi,
    Thank you for this VBA.

    I have absolutely no idea about VBA and hence my question.

    I used this VBA and I had a question.
    How can i alter this VBA so that it works only for one sheet.

    Right now, I have 8 sheets and every time i go to another sheet, it fails and asks me to end or debug.
    I have done exactly the way as shown above.


    This is my VBA here..
    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("Client 1")
    Set ShM = ActiveSheet.Shapes("Reminder 1")
    'change position of the slicer
    With Windows(1).VisibleRange.Cells(1, 1)
    ShF.Top = .Top + 2
    ShF.Left = .Left + 475
    ShM.Top = .Top + 180
    ShM.Left = .Left + 475
    End With
    Application.ScreenUpdating = True
    End Sub


    Please help.
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Dear John,
      Shift to the worksheet you want the VBA code only work for, then right click the Sheet tab and select View Code from the context menu.
      And then copy and paste below VBA code into the opening Code window. See below screenshot:

      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Dim ShF As Shape
      Dim ShM As Shape
      'specify a slicer
      Application.ScreenUpdating = False
      Set ShF = ActiveSheet.Shapes("Fruit")
      Set ShM = ActiveSheet.Shapes("Sale")
      '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
      • To post as a guest, your comment is unpublished.
        John · 1 years ago
        Dear Crystal,

        Thank you so very much for the code.
        I did exactly as you said and it works like a charm.

        Really appreciate it.
        Cheers :)
  • To post as a guest, your comment is unpublished.
    John · 1 years ago
    Hi,
    Thank you for this VBA.

    I have absolutely no idea about VBA and hence my question.

    I used this VBA and I had a question.
    How can i alter this VBA so that it works only for one sheet.

    Right now, I have 8 sheets and every time i go to another sheet, it fails and asks me to end or debug.
    I have done exactly the way as shown above.


    This is my VBA here..
    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("Client 1")
    Set ShM = ActiveSheet.Shapes("Reminder 1")
    'change position of the slicer
    With Windows(1).VisibleRange.Cells(1, 1)
    ShF.Top = .Top + 2
    ShF.Left = .Left + 475
    ShM.Top = .Top + 180
    ShM.Left = .Left + 475
    End With
    Application.ScreenUpdating = True
    End Sub


    Please help.