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

¿Cómo mantener la cortadora de tabla dinámica en movimiento con el desplazamiento de la hoja de trabajo en Excel?

Mientras trabaja con la tabla dinámica, puede insertar segmentaciones para filtrar visualmente los datos de la tabla. Este artículo habla de mantener la segmentación de la tabla dinámica siempre visible mientras se desplaza por la hoja de trabajo.

Mantenga el rebanador de la tabla dinámica en movimiento con el desplazamiento de la hoja de trabajo con el código VBA


Mantenga el rebanador de la tabla dinámica en movimiento con el desplazamiento de la hoja de trabajo con el código VBA

La siguiente secuencia de comandos de VBA puede ayudarlo a mantener la cortadora de tabla dinámica en movimiento con la hoja de trabajo. 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, haga doble clic ThisWorkbook en el panel del Proyecto izquierdo, 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 el rebanador de la tabla dinámica en movimiento con el desplazamiento de la hoja de trabajo

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 las segmentaciones.

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

3). Y puede agregar más segmentaciones al código o eliminarlas según lo necesite.

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

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


Artículos relacionados:


Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas 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 Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
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

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
Comentarios (10)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
Hola,
Gracias por este VBA.

No tengo absolutamente ninguna idea sobre VBA y de ahí mi pregunta.

Usé este VBA y tenía una pregunta.
¿Cómo puedo modificar este VBA para que funcione solo para una hoja?

En este momento, tengo 8 hojas y cada vez que voy a otra hoja, falla y me pide que finalice o depure.
Lo he hecho exactamente como se muestra arriba.


Este es mi VBA aquí ...
Sub libro de trabajo privado_SheetSelectionChange (ByVal Sh como objeto, ByVal Target como rango)
Dim ShF como forma
Dim ShM como forma
'especificar una segmentación
Application.ScreenUpdating = False
Establecer ShF = ActiveSheet.Shapes ("Cliente 1")
Establecer ShM = ActiveSheet.Shapes ("Recordatorio 1")
'cambiar la posición de la cortadora
Con Windows(1).VisibleRange.Cells(1, 1)
ShF.Superior = .Superior + 2
ShF.Izquierda = .Izquierda + 475
ShM.Top = .Top + 180
ShM.Izquierda = .Izquierda + 475
End With
Application.ScreenUpdating = True
End Sub


Por favor, ayuda.
Este comentario fue minimizado por el moderador en el sitio
Hola,
Gracias por este VBA.

No tengo absolutamente ninguna idea sobre VBA y de ahí mi pregunta.

Usé este VBA y tenía una pregunta.
¿Cómo puedo modificar este VBA para que funcione solo para una hoja?

En este momento, tengo 8 hojas y cada vez que voy a otra hoja, falla y me pide que finalice o depure.
Lo he hecho exactamente como se muestra arriba.


Este es mi VBA aquí ...
Sub libro de trabajo privado_SheetSelectionChange (ByVal Sh como objeto, ByVal Target como rango)
Dim ShF como forma
Dim ShM como forma
'especificar una segmentación
Application.ScreenUpdating = False
Establecer ShF = ActiveSheet.Shapes ("Cliente 1")
Establecer ShM = ActiveSheet.Shapes ("Recordatorio 1")
'cambiar la posición de la cortadora
Con Windows(1).VisibleRange.Cells(1, 1)
ShF.Superior = .Superior + 2
ShF.Izquierda = .Izquierda + 475
ShM.Top = .Top + 180
ShM.Izquierda = .Izquierda + 475
End With
Application.ScreenUpdating = True
End Sub


Por favor, ayuda.
Este comentario fue minimizado por el moderador en el sitio
Querido John,
Cambie a la hoja de trabajo para la que desea que solo funcione el código VBA, luego haga clic con el botón derecho en la pestaña Hoja y seleccione Ver código en el menú contextual.
Y luego copie y pegue debajo del código VBA en la ventana Código de apertura. Vea la siguiente captura de pantalla:

Sub hoja de trabajo privada_Cambio de selección (rango de destino ByVal)
Dim ShF como forma
Dim ShM como forma
'especificar una segmentación
Application.ScreenUpdating = False
Establecer ShF = ActiveSheet.Shapes ("Fruta")
Establecer ShM = ActiveSheet.Shapes ("Venta")
'cambiar la posición de la cortadora
Con Windows(1).VisibleRange.Cells(1, 1)
ShF.Superior = .Superior
ShF.Izquierda = .Izquierda + 300
ShM.Superior = .Superior
ShM.Izquierda = .Izquierda + 100
End With
Application.ScreenUpdating = True
End Sub
Este comentario fue minimizado por el moderador en el sitio
Estimado Cristal,

Muchas gracias por el código.
Hice exactamente lo que dijiste y funciona de maravilla.

Realmente lo aprecio.
Saludos :)
Este comentario fue minimizado por el moderador en el sitio
Hola, he actualizado mi código como me has indicado. La segmentación ya no se desplaza junto con la ventana; sin embargo, si hago clic en una nueva celda, la segmentación se moverá. ¿Es este el comportamiento correcto?
Este comentario fue minimizado por el moderador en el sitio
¿Qué indica la primera fila y cómo la personalizamos para que se adapte a nuestra cortadora?
Estoy muy confundido acerca de eso básicamente en cada línea.
Este comentario fue minimizado por el moderador en el sitio
Querida Katie
No sé si entiendo totalmente tu pregunta.
Como mencioné en las Notas anteriores, debe reemplazar Column1 y Column2 con los nombres de sus segmentaciones en el código para que su segmentación siga desplazándose con la hoja de trabajo.
Este comentario fue minimizado por el moderador en el sitio
Tengo 4 cortadoras que se han agrupado seleccionando las 4 y haciendo clic derecho para usar el comando de grupo.

¿Es posible asignar este VBA por un grupo? ¿Cómo etiqueta el grupo y escribe el VBA para reconocerlo como uno?
Este comentario fue minimizado por el moderador en el sitio
Hola Michael,
Lo siento, no puedo ayudar con esto. Gracias por tu comentario.
Este comentario fue minimizado por el moderador en el sitio
De acuerdo, entonces el título dice "Cómo mantener la segmentación de la tabla dinámica en movimiento con la hoja de trabajo Desplazamiento ¿En Excel?", pero este código VBA solo lo hace para la celda seleccionada actual, ¿cómo podemos hacerlo para el desplazamiento del libro de trabajo, y no solo la celda seleccionada?
No hay comentarios publicados aquí todavía
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Seguinos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL