Ocultar filas automáticamente en varias hojas
Resuelto
Stephxx
-
Stephxx Mensajes publicados 26 Estado Miembro -
Stephxx Mensajes publicados 26 Estado Miembro -
Hola a todos,
He creado un libro de dos páginas. La primera contiene en la columna A una lista de artículos con sus parámetros en las columnas B y C. Los usuarios del archivo aplican sus filtros en las columnas B y C para conservar solo ciertos artículos. Un cierto número de artículos, es decir, de filas, quedan entonces ocultos.
me gustaría que aparecieran en la columna A de la página 2 los mismos artículos que se muestran en la columna A de la hoja1, es decir, todas las filas que no están ocultas. ¿Alguna idea?
Detalle:
Hoja1
A B C
Fila1 Artículo
Fila2 toto
Fila4 tata
Fila9 tonton
Las filas 3, 5, 6, 7, 8 quedan ocultas por los filtros en las columnas B y C.
Quiero obtener una hoja 2 con:
Hoja2
A
Fila1 Artículo
Fila2 toto
Fila3 tata
Fila4 tonton
De preferencia con fórmulas, más sencillo para mis usuarios. Con una macro, debería activarse cada vez que se aplique un filtro, pero también si un usuario oculta a mano una fila en la hoja 1.
Gracias de antemano.
Configuración: Mac OS X (10.10.4) / Safari 8.0.7
He creado un libro de dos páginas. La primera contiene en la columna A una lista de artículos con sus parámetros en las columnas B y C. Los usuarios del archivo aplican sus filtros en las columnas B y C para conservar solo ciertos artículos. Un cierto número de artículos, es decir, de filas, quedan entonces ocultos.
me gustaría que aparecieran en la columna A de la página 2 los mismos artículos que se muestran en la columna A de la hoja1, es decir, todas las filas que no están ocultas. ¿Alguna idea?
Detalle:
Hoja1
A B C
Fila1 Artículo
Fila2 toto
Fila4 tata
Fila9 tonton
Las filas 3, 5, 6, 7, 8 quedan ocultas por los filtros en las columnas B y C.
Quiero obtener una hoja 2 con:
Hoja2
A
Fila1 Artículo
Fila2 toto
Fila3 tata
Fila4 tonton
De preferencia con fórmulas, más sencillo para mis usuarios. Con una macro, debería activarse cada vez que se aplique un filtro, pero también si un usuario oculta a mano una fila en la hoja 1.
Gracias de antemano.
Configuración: Mac OS X (10.10.4) / Safari 8.0.7
Enlaces relacionados:
- Excel - Numeración de páginas varias hojas
- Creación automática de una hoja de Excel
- ocultar una hoja de Excel con 1palabra2clave
- ocultar la barra de pestañas de las hojas de Excel
- Extracción de líneas en una nueva hoja según criterio
- Actualización automática de varias hojas de Excel con diferentes números de filas
2 respuestas
-
Hola
Por fórmula no creo que sea posible probar si una línea está oculta
Con una macro se puede hacer una macro situada en la Hoja de cálculo de la 2ª hoja que se active tan pronto como se seleccione la hoja 2
Private Sub Worksheet_Activate() Dim Línea As Long 'última fila no vacía hoja 1 Línea = Sheets(1).Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row ' Bucle sobre las filas hoja 1 For n = 1 To Línea ' si la fila n no está oculta If Sheets(1).Rows(n).Hidden = False Then 'incrementación de variable i para la fila i = i + 1 'Bucle sobre las columnas 1 a 3 de hoja 1 (a adaptar si es necesario) For c = 1 To 3 ' Copia las celdas en hoja 2 Sheets(2).Cells(i, c) = Sheets(1).Cells(n, c) Next c End If Next n End Sub
Para colocar la macro en la Worksheet hoja 2 :
ALT + F11 para abrir el editor de VBA
Seleccionar haciendo doble clic la Hoja 2 en el árbol
Copiar pegar la macro en la página
Cerrar el editor
Cdlmnt
Via
--
"La imaginación es más importante que el conocimiento." A. Einstein-
Gracias Via, este código funciona perfectamente.
Busco hacerlo evolucionar y he llegado al código siguiente que permite ocultar de manera idéntica las filas de la hoja 2 a partir de la de la hoja 1.
Sub Macro1()
Dim Ligne As Long
i = 5
Ligne = Sheets(1).Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
For n = 5 To Ligne
If Sheets("Données").Rows(n).Hidden = True Then
Sheets("Détail").Rows(i).Hidden = True
i = i + 1
Else: Sheets("Détail").Rows(i).Hidden = False
i = i + 1
End If
Next n
End Sub
ahora busco obtener el precio total de la orden en una celda, es decir: multiplicar el número de artículos pedidos (hoja2 columna B) por el precio unitario (hoja1 columna C). Inicialmente obtenía este precio total con la función SOMA.PROD: ""=SOMMEPROD(Hoja2!B5:B2000;Hoja1!$C5:$C2000)""
¿conoce alguna función equivalente a SOMMEPROD pero que no tenga en cuenta las filas ocultas? He explorado SUBTOTALES pero sin éxito. -
-
-
-
-
-
El tema está resuelto, desafortunadamente no había iniciado sesión cuando lo publiqué, imposible marcarlo como tal. ARTÍCULO RESUELTO, gracias.