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

¿Cómo agregar varios campos a la tabla dinámica?

Cuando creamos una tabla dinámica, necesitamos arrastrar los campos a las etiquetas de fila o valores manualmente uno por uno. Si tenemos una lista larga de campos, podemos agregar algunas etiquetas de fila rápidamente, pero los campos restantes deben agregarse al área Valor. ¿Existe algún método rápido para que agreguemos todos los demás campos en el área Valor con un clic en la tabla dinámica?

Agregue varios campos en el área de valor de la tabla dinámica con código VBA

Pestaña de Office Habilite la edición y navegación con pestañas en Office y haga su trabajo mucho más fácil
Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%
  • Reutiliza cualquier cosa: Agregue las fórmulas, gráficos y cualquier otra cosa más utilizados o complejos a sus favoritos y reutilícelos rápidamente en el futuro.
  • Más de 20 funciones de texto: Extraer número de la cadena de texto; Extraer o eliminar parte de los textos; Convierta números y monedas a palabras en inglés.
  • Combinar herramientas: Varios libros de trabajo y hojas en uno; Fusionar varias celdas / filas / columnas sin perder datos; Fusionar filas duplicadas y suma.
  • Herramientas divididas: Divida los datos en varias hojas según el valor; Un libro de trabajo para varios archivos Excel, PDF o CSV; Una columna a varias columnas.
  • Pegar saltando Filas ocultas / filtradas; Cuenta y suma por color de fondo; Envíe correos electrónicos personalizados a varios destinatarios de forma masiva.
  • Súper filtro: Cree esquemas de filtros avanzados y aplíquelos a cualquier hoja; Ordenar por semana, día, frecuencia y más; Filtrar por negrita, fórmulas, comentario ...
  • Más de 300 potentes funciones; Funciona con Office 2007-2021 y 365; Admite todos los idiomas; Fácil implementación en su empresa u organización.

flecha azul burbuja derecha Agregue varios campos en el área de valor de la tabla dinámica con código VBA

Desafortunadamente, no hay una casilla de verificación para que podamos verificar rápidamente todos los campos en la Lista de campos de la tabla dinámica con un solo clic, pero con el siguiente código VBA puede ayudarlo a agregar los campos restantes al área de Valores a la vez. Haz lo siguiente:

1. Después de crear la tabla dinámica, en primer lugar, debe agregar los campos de etiqueta de fila según sus necesidades y dejar los campos de valor en el Elija campos para agregar al informe lista, vea la captura de pantalla: </ p>

doc-agregar-campos-múltiples-1

2. Mantenga pulsado el ALT + F11 teclas para abrir el Ventana de Microsoft Visual Basic para aplicaciones.

3. Hacer clic recuadro > Móduloy pegue el siguiente código en el Ventana de módulo.

Código de VBA: agregue varios campos en el área de valor de las tablas dinámicas en la hoja de trabajo activa

Sub AddAllFieldsValues()
'Update 20141112
    Dim pt As PivotTable
    Dim I As Long
    For Each pt In ActiveSheet.PivotTables
        For I = 1 To pt.PivotFields.Count
            With pt.PivotFields(I)
              If .Orientation = 0 Then .Orientation = xlDataField
            End With
        Next
    Next
End Sub

4. Entonces presione F5 para ejecutar este código, todos los campos restantes se han agregado al área de Valores al mismo tiempo, vea la captura de pantalla:

doc-agregar-campos-múltiples-1

Nota:: Este código VBA se aplica a todas las tablas dinámicas de la hoja de trabajo activa.


Artículos relacionados:

¿Cómo enumerar todas las tablas dinámicas de un libro de trabajo?

¿Cómo comprobar si existe una tabla dinámica en un libro de trabajo?


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 (23)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
Muy buena y útil macro. Sin embargo, ya había agregado la mitad de mis campos en los Valores y cuando ejecuté esta macro, agregó todos los mismos campos nuevamente. ¿Alguna idea de por qué?
Este comentario fue minimizado por el moderador en el sitio
Guau. Funciona muy muy bien. ¡Muchas gracias! No obstante, estoy un poco sorprendido de que Microsoft no tuviera una función integrada para una tarea bastante simple...
Este comentario fue minimizado por el moderador en el sitio
Esto es fantástico. ¿Se puede modificar la macro para agregar todo a Etiquetas de fila en lugar de Valores?
Este comentario fue minimizado por el moderador en el sitio
¿Hay alguna manera de ejecutar esto solo para campos excluidos, de modo que cuando lo ejecute no termine con campos duplicados? es decir. "Campo" y "Campo_2"
Este comentario fue minimizado por el moderador en el sitio
[cita] ¿Hay alguna manera de ejecutar esto solo para campos excluidos, de modo que cuando lo ejecute no termine con campos duplicados? es decir. "Campo" y "Campo_2"por Shaun[/quote] Sí, dos ejemplos Use esto para agregar todos los elementos restantes sin marcar a ROWS Sub AddAllFieldsRow() Dim pt As PivotTable Dim iCol As Long Dim iColEnd As Long Set pt = ActiveSheet.PivotTables(1) With pt iCol = 1 iColEnd = .PivotFields.Count For iCol = 1 To iColEnd With .PivotFields(iCol) If .Orientation = 0 Then .Orientation = xlRowField End If End With Next iCol End With End Sub Use esto para agregar los elementos sin marcar restantes a VALUES Sub AddAllFieldsValues() Dim pt As PivotTable Dim iCol As Long Dim iColEnd As Long Set pt = ActiveSheet.PivotTables(1) With pt iCol = 1 iColEnd = .PivotFields.Count For iCol = 1 To iColEnd With .PivotFields(iCol) If .Orientation = 0 Then .Orientation = xlDataField End If End With Next iCol End With End Sub
Este comentario fue minimizado por el moderador en el sitio
¿Hay alguna manera de agregar solo algunos campos ekstra, no los restantes o todos, sino solo un par de los que aún no están marcados? :)
Este comentario fue minimizado por el moderador en el sitio
Sí, para hacer eco de Markus, ¿hay alguna manera de editar el código para agregar solo campos sin marcar que ciertamente tienen etiquetas de campo (como con una función if contains)? Por ejemplo, tengo una pregunta que en realidad tiene 50 valores de sí/no por tema y me gustaría moverlos todos al campo de valores. Todos comienzan con la misma etiqueta de pregunta q9_[tema de pregunta específico].
Este comentario fue minimizado por el moderador en el sitio
¿Hay alguna forma si queremos agregar algunas columnas seleccionadas del archivo base en lugar de todas?
Este comentario fue minimizado por el moderador en el sitio
Su valor takiung como cuenta. ¿Cómo puedo convertir todo el conteo como Suma?
Este comentario fue minimizado por el moderador en el sitio
Puede hacer clic en su campo (en el área donde arrastra sus campos a: etiquetas de columna, etiquetas de fila, etc.) luego haga clic en "Configuración de campo de valor" y obtendrá una lista desplegable desde donde puede elegir "Suma"!
A     El
Este comentario fue minimizado por el moderador en el sitio
Código de VBA: cambie la configuración de varios campos en la tabla dinámica
https://www.extendoffice.com/documents/excel/2354-excel-pivot-table-change-multiple-field-settings.html
Este comentario fue minimizado por el moderador en el sitio
¡Esto es genial! Gracias.
Este comentario fue minimizado por el moderador en el sitio
¿"xlDataField" no funciona con PowerPivot? Tengo el código a continuación, que se usa para agregar todas las medidas a la tabla dinámica. Funciona con "xlColumnField" y "xlRowField". ¿Alguna idea de cómo hacer que esto funcione?

Sub AddAllFieldsValues()
Dim pt como tabla dinámica
Atenuar iCol siempre que
Atenuar iColEnd mientras dure

Establecer pt = ActiveSheet.PivotTables (1)

Con pt

iCol = 1
iColEnd = .CubeFields.Count

Para iCol = 1 Para iColEnd
Con .CubeFields(iCol)
Si .Orientación = xlOculto Entonces
.Orientación = xlDataField
Si terminar
End With
Siguiente iCol

End With

End Sub
Este comentario fue minimizado por el moderador en el sitio
Hola.

Me da un error de compilación cuando hago clic en Ejecutar

Por favor, ayuda
Este comentario fue minimizado por el moderador en el sitio
Funciona de maravilla. Gracias
Este comentario fue minimizado por el moderador en el sitio
gracias me ayudo mucho
Este comentario fue minimizado por el moderador en el sitio
¡¡¡MUCHAS GRACIAS!!!
Este comentario fue minimizado por el moderador en el sitio
Nota: Mensaje de error del Che:




Sub AddAllFieldsValues()




'Actualiza 20141112



Oscuro
pt como tabla dinámica





Dim I como
Largo





Para cada
pt en ActiveSheet.PivotTables





Para
I = 1 a pt.PivotFields.Count





End With







Siguiente



Siguiente




End Sub










Nota: Che está tratando de agregar lo siguiente
campos/instantánea- "Suma de OTRA diferencia, Suma de 4096
Diferencia" sobre 80 campos a ser
adicional







OTROS Diferencia



4096 Diferencia



4016 Diferencia
Este comentario fue minimizado por el moderador en el sitio
Si "Los valores son
"0" o "Nulo" cómo suprimir los valores de fila para que no se muestren

(ej. Suma de 2743 Diferencia)





Pivotar "Filas"
Pivotar "Valores"





Etiquetas de fila





NP9 - Total no gastado
Apropiaciones





Suma de OTROS Diferencia 1,045,355,165.31




Suma de 3200 Diferencia
0.00




Suma de 0108 Diferencia
12,873,630.29



Suma de 4586 Diferencia
(33,024,706.93)



Suma de 0148 Diferencia
(72,046,783.14)



Suma de 0129 Diferencia
(5,583,891.98)



Suma de 4598 Diferencia
(929,574.56)



Suma de 2743 Diferencia



Suma de 4041 Diferencia
0.00



Suma de 2799 Diferencia
Este comentario fue minimizado por el moderador en el sitio
¿Hay alguna forma de editar la macro que enviaría los campos a la etiqueta de las filas en lugar de los valores?
Este comentario fue minimizado por el moderador en el sitio
Задача же не всегда стоит в получении списка, хочется допустим поправить названия таблиц или источ источ Можете реализовать?
Este comentario fue minimizado por el moderador en el sitio
Hola, ¿hay alguna manera de agregar solo las columnas no seleccionadas? Gracias. 
Este comentario fue minimizado por el moderador en el sitio
Estoy ejecutando este código. ¿Cuánto tiempo se tarda en completar? Han pasado 45 minutos y sigue funcionando. Por favor, ayúdame. Por cierto, mis columnas de campo total son 3600.
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