ayuda por favor

14/04/2005 - 15:56 por Dorian | Informe spam
hola gente !!

hay alguien que me pueda dar una mano con esto ?\ me lo están pidiendo en mi
trabajo y la verdad que no tengo ni idea de por donde comenzar, además de
muy pocos conocimientos de excel a este nivel :((

desde ya muchas gracias por el tiempo que le dediquen a mi mensaje

dorian+






hola grupo !!

tengo la siguiente rutina que utlizo para ocultar las filas que en
determinado rango tienen valor cero\ (la rutina se ejecuta al activar la
hoja del libro)

Dim Celda As Range, Temp As Variant
For Each Celda In Range("a14:a33")
Temp = Celda
If IsError(Temp) Then
Celda.EntireRow.Hidden = True
ElseIf Celda <> 0 Then
Celda.EntireRow.Hidden = False
Else: Celda.EntireRow.Hidden = True
End If
Next

mi problema, son dos:

tengo un libro con dos hojas, en la primera se encuentran las facturas
pendientes de rendicion con sus detalles (ordenadas por nº de factura), la
segunda hoja es un formulario que se utiliza para rendir a la casa central
las facturas que ya han sido cobradas\ en el rango a14:a33, de esta
planilla, ingreso el nº de comprobante y automaticamente "trae" los datos
de las facturas\

1º) lo que tendría que hacer es ocultar las filas del rango a14:a33 de la
planilla rendición que tienen el valor 0 (cero) en la columna a (en ese
mismo rango\ pero obviamente si siempre tendria que haber una fila sin
ocultar, pues si se ocultan todas no es posible ingresar el numero de
factura\ entonces, x ej. al principio NO deberia estar oculta la fila 14,
pero si el resto, al introducir un valor en la celda a14, debria mostrarse
la fila 15 (para eventualmente poder introducir un valor en la cela a15);
una vez que se ingresa un valor en la fila a15 al darle enter deberia
mostrarse la fila 16... y así sucesivamente hasta la 33 que es la última del
rango

2º) al imprimir esta hoja debería borrar las filas de la hoja facturas que
coinciden con los numeros de facturas ingresados...

espero haber sido claro para que alguien me pueda ayudar con esto\

desde ya muchas gracias por la ayuda que me puedan dar .

un abrazo a todos

dorian+
 

Leer las respuestas

#1 Héctor Miguel
15/04/2005 - 05:13 | Informe spam
hola, dorian !

... una mano con esto ?
... no tengo ni idea de por donde comenzar, ademas de... pocos conocimientos... a este nivel :((
... rutina que utlizo para ocultar las filas que en determinado rango tienen valor cero
... se ejecuta al activar la hoja del libro
Dim Celda As Range, Temp As Variant => [sigue el resto del codigo] ...
1° ... dos hojas... primera... facturas pendientes de rendicion con sus detalles (ordenadas por nº de factura)
.. segunda... un formulario que se utiliza para rendir a la casa central las facturas que ya han sido cobradas
... a14:a33... ingreso el nº de comprobante y automaticamente "trae" los datos de las facturas
... tendria que... ocultar las filas del rango a14:a33... que tienen el valor 0 (cero)
... obviamente siempre tendria que haber una fila sin ocultar [...]
2° ... al imprimir esta hoja debería borrar las filas de la hoja facturas... con los numeros... ingresados...





[segun yo] el 'problema' completo lo tendremos que 'atacar' [al menos] en dos 'sesiones'
debido a algunos puntos que [de momento] no tengo lo suficiente 'claros' y expongo a continuacion ;)
si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.
=1.- supongo que el codigo 'expuesto' no tiene mayor problema y poca relacion con los puntos 1 y 2 de tu consulta -?-
[puesto que parece ser un tema resuelto que 'vimos' por enero 2004, ya que... 'sigue siendo el mismo'] :D
2.- para ocultar las filas [en la hoja de 'rendicion'] y que siempre permanezca visible 'la siguiente'...
te propongo un ejemplo usando el evento '_change' de la hoja/formulario [suponiendo que son 'entradas del usuario']
y algunas 'variantes' porque tampoco me es claro si cuando dices '... ocultar las filas... que tienen el valor 0 (cero)...'
te refieres a que 'efectivamente' les queda un [y 'absoluto'] cero... o 'simplemente'... estan vacias -???-
3.- faltaria 'aclarar' si por 'borrar' las filas [en tu punto 2, y despues de imprimir] te refieres a...
a) [completamente] 'eliminar' las filas -?-
b) [solamente] 'borrar' el dato de las celdas de la columna 'A' -?-
-> esto porque [supongo] habra formulas en el resto de las celdas de cada fila que... 'despues habria que reponer' -?-
=para 'desarrollar' la propuesta del ocultamiento de las filas y mantener siempre visible 'la siguiente'...
en el modulo de codigo de la hoja de rendicion ==Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("a14:a33")) Is Nothing Then Exit Sub
Dim Celda As Range: Application.ScreenUpdating = False
For Each Celda In Range("a14:a33")
' en esta parte va el codigo 'dependiente' de la eventualidad de: cero en la celda o... celda vacia '
Next
End Sub
op1: si cada celda [simplemente] queda vacia y 'partiendo' de que la celda anterior al rango [la A13] NO esta vacia...
Celda.EntireRow.Hidden = IsEmpty(Celda.Offset(-1))
op2: si cada celda sigue vacia pero NO depende de que la celda A13 [fuera del rango] NO este vacia...
Celda.EntireRow.Hidden = _
(Application.CountIf(Range(Range("a14"), Celda), "") > 1)
op3: si cada celda 'efectivamente' queda con un [y absoluto] cero...
Celda.EntireRow.Hidden = _
(Application.CountIf(Range(Range("a14"), Celda), 0) > 1)

Preguntas similares