MACRO OCULTAR FILAS

30/06/2005 - 02:18 por HMS | Informe spam
Hola Amig@s.

Tengo una BD, la cual es EXPORTADA de un sistema. a EXCEL.
Quisera crear una macro que OCULTE, las filas en las que se encuentren
números, menores a 1.
Estos números se pueden ubicar en distintas columnas de la BD.

Quisiera tambien y en caso de que lo necesite, aplicar una MACRO, que me
restaure las filas ocultas.
De antemano gracias.
HMS

Preguntas similare

Leer las respuestas

#1 xolobero
30/06/2005 - 03:26 | Informe spam
prueba esto:


Sub OCULTAR()
Dim X As Integer
Dim RG As Range
Set RG = Range("A1").CurrentRegion
For X = RG.Rows.Count To 1 Step -1
If Application.WorksheetFunction.CountIf(RG.Rows(X), "<1") > 0
Then
RG.Rows(X).Hidden = True
End If
Next X
End Sub


Sub desOCULTAR()
Cells.EntireRow.Hidden = False
End Sub


HMS ha escrito:
Hola

Tengo una BD, la cual es EXPORTADA de un sistema. a EXCEL.
Quisera crear una macro que OCULTE, las filas en las que se encuentren
números, menores a 1.
Estos números se pueden ubicar en distintas columnas de la BD.

Quisiera tambien y en caso de que lo necesite, aplicar una MACRO, que me
restaure las filas ocultas.
De antemano gracias.
HMS
Respuesta Responder a este mensaje
#2 Héctor Miguel
30/06/2005 - 03:28 | Informe spam
hola, 'tocayo' !

... BD... EXPORTADA... a EXCEL.
... macro que OCULTE, las filas en las que se encuentren numeros, menores a 1.
... se pueden ubicar en distintas columnas de la BD.
... tambien y en caso de que lo necesite... una MACRO, que me restaure las filas ocultas.



prueba con las siguientes 'propuestas' y si cualquier duda... comentas?
saludos,
hector.
en un modulo de codigo 'normal' ==Sub OcultarFilaSiAlgunaCeldaMenosQueUno()
Application.ScreenUpdating = False
Dim Fila As Long
With ActiveSheet.UsedRange
For Fila = 1 To .Row + .Rows.Count
Rows(Fila).Hidden = (Evaluate("countif(" & Fila & ":" & Fila & ",""<1"")") > 0)
Next
End With
End Sub
Sub MostrarTodasLasFilas()
Cells.EntireRow.Hidden = False
End Sub
Respuesta Responder a este mensaje
#3 HMS
30/06/2005 - 06:28 | Informe spam
Gracias a ambos!!!

Voy a probarlo

Saludos
HMS

"Héctor Miguel" wrote in message
news:
hola, 'tocayo' !

... BD... EXPORTADA... a EXCEL.
... macro que OCULTE, las filas en las que se encuentren numeros, menores
a 1.
... se pueden ubicar en distintas columnas de la BD.
... tambien y en caso de que lo necesite... una MACRO, que me restaure
las filas ocultas.



prueba con las siguientes 'propuestas' y si cualquier duda... comentas?
saludos,
hector.
en un modulo de codigo 'normal' ==> Sub OcultarFilaSiAlgunaCeldaMenosQueUno()
Application.ScreenUpdating = False
Dim Fila As Long
With ActiveSheet.UsedRange
For Fila = 1 To .Row + .Rows.Count
Rows(Fila).Hidden = (Evaluate("countif(" & Fila & ":" & Fila &
",""<1"")") > 0)
Next
End With
End Sub
Sub MostrarTodasLasFilas()
Cells.EntireRow.Hidden = False
End Sub

Respuesta Responder a este mensaje
#4 HMS
30/06/2005 - 23:20 | Informe spam
Hola
La macro que me enviarón funciona bien, sin embargo han surgido algunos
requeirmientos adicionales.
Hay 8 columnas con Numeros, estos pueden ser positivos, negativos, o
positivos entre 0 y 1.

Resulta, lo que se busca es que oculte solamente aquellos números entre 0 y
1, unicamente.
pero primero debe de hacer un "barrido" en cada FILA y comparar los valores
por cada una de las 8 columnas.
Si en una misma fila EXISTE un único VALOR POSITIVO o NEGATIVO, debe de
mantenerse la FILA. y descartar los valores entre 0 y 1.

Les agradezco la ayuda que me puedan brindar.
HMS

"HMS" wrote in message
news:%
Gracias a ambos!!!

Voy a probarlo

Saludos
HMS

"Héctor Miguel" wrote in message
news:
hola, 'tocayo' !

... BD... EXPORTADA... a EXCEL.
... macro que OCULTE, las filas en las que se encuentren numeros,
menores a 1.
... se pueden ubicar en distintas columnas de la BD.
... tambien y en caso de que lo necesite... una MACRO, que me restaure
las filas ocultas.



prueba con las siguientes 'propuestas' y si cualquier duda... comentas?
saludos,
hector.
en un modulo de codigo 'normal' ==>> Sub OcultarFilaSiAlgunaCeldaMenosQueUno()
Application.ScreenUpdating = False
Dim Fila As Long
With ActiveSheet.UsedRange
For Fila = 1 To .Row + .Rows.Count
Rows(Fila).Hidden = (Evaluate("countif(" & Fila & ":" & Fila &
",""<1"")") > 0)
Next
End With
End Sub
Sub MostrarTodasLasFilas()
Cells.EntireRow.Hidden = False
End Sub





Respuesta Responder a este mensaje
#5 Héctor Miguel
01/07/2005 - 04:29 | Informe spam
hola, 'tocayo' !

... han surgido algunos requerimientos adicionales.
... que oculte solamente aquellos números entre 0 y 1, unicamente.
... pero... si en una misma fila EXISTE un unico... POSITIVO o NEGATIVO
... mantenerse la FILA. y descartar los valores entre 0 y 1.



una manera 'a la rapida' [pudiera ser]... 'combinar' las 3 condiciones en una sola 'instruccion'
te paso el ejemplo al final y... si cualquier duda... comentas?
saludos,
hector.
en un modulo de codigo 'normal' ==Sub OcultarFilaSiAlgunaCeldaMenosQueUno()
Application.ScreenUpdating = False
Dim Fila As Long
With ActiveSheet.UsedRange
For Fila = 1 To .Row + .Rows.Count
Rows(Fila).Hidden = _
(Evaluate("countif(" & Fila & ":" & Fila & ",""<0"")") = 0) And _
(Evaluate("countif(" & Fila & ":" & Fila & ","">=1"")") = 0) And _
(Evaluate("countif(" & Fila & ":" & Fila & ",""<1"")") > 0)
Next
End With
End Sub

-> puedes sustituir el uso del metodo 'evaluate' por la funcion de hoja de calculo [countif] p.e
Rows(Fila).Hidden = _
(Application.CountIf(.Rows(Fila), "<0") = 0) And _
(Application.CountIf(.Rows(Fila), ">=1") = 0) And _
(Application.CountIf(.Rows(Fila), "<1") > 0)

-> son instrucciones mas 'delgadas' :)) PERO... [toma nota de lo siguiente]...
el 'comportamiento/resultado' pudiera [o va a] ser 'distinto' [me explico]...
-> si en alguna fila SOLO existe un valor [p.e.] 0.01 [Y NADA MAS]...
a) el metodo 'evaluate' SI oculta la fila ;)
b) la funcion de hoja de calculo [por vba]... NO :-(
-> probado SOLO en [mi] xl'97... [que en ocasiones... 'me hace quedar mal'] :DD
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida