Necesito a Hector... AUXILIO!

02/02/2004 - 22:20 por Petra | Informe spam
Hola Hector...

El 29 de enero le respondiste algo a Luis Vargas sobre
cómo validar info de 2 columnas. Yo he estado necesitando
algo similar pero entre 2 columnas de 2 hojas del mismo
libro. Ya intenté las 2 formulas que le sugeriste a Luis y
me da como resultado "sin cobrar" en todas las filas, aun
teniendo un dato que deberia salir "cobrado", asi tengo
las formulas:

1) ="Cobrado "&CONTAR.SI(A8;Mtto.BANCOLOMBIA!A:A)&" VECES."
2) =SI(CONTAR.SI(A8;Mtto.BANCOLOMBIA!A:A)>0;"Cobrado";"Sin
cobrar")

Otra cosa... es posible crear una macro para que antes de
cerrar el Libro elimine las filas que tienen como
resultado "Cobrado"???????????

Gracias de antemano!!!

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
03/02/2004 - 03:29 | Informe spam
hola, Petra !

... sobre ... validar ... 2 columnas ... algo similar pero entre ... 2 hojas del mismo libro [...]
... me da como resultado "sin cobrar" en todas las filas, aun teniendo un dato que deberia salir "cobrado" [...]
1) ="Cobrado "&CONTAR.SI(A8;Mtto.BANCOLOMBIA!A:A)&" VECES."
2) =SI(CONTAR.SI(A8;Mtto.BANCOLOMBIA!A:A)>0;"Cobrado";"Sin cobrar")


__________
con respecto de las formulas, el argumento 'rango_a_buscar_donde' es primero en las funciones Sumar.Si, Contar.Si ...
1) ="Cobrado "&Contar.Si(Mtto.BANCOLOMBIA!A:A;A8)&" VECES."
2) =Si(Contar.Si(Mtto.BANCOLOMBIA!A:A;A8)>0;"Cobrado";"Sin cobrar")

... posible ... macro ... que antes de cerrar el Libro elimine las filas que tienen como resultado "Cobrado" [...]


_________
[para 'estos casos', es mejor hacer un 'recorrido a la inversa' -de abajo hacia arriba-]
suponiendo que usas la formula de la opcion 2 en la columna 'C' de la 'Hoja1'...
[si usas la opcion 1, sera necesario un[a 'especie' de] 'filtro' para 'verificar' que esta 'cobrado'] ;)
en el modulo de codigo del libro [ThisWorkbook'] ==Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Fila As Long
With Worksheets("Hoja1")
For Fila = .Range("c65536").End(xlUp).Row To 1 Step -1
If .Range("c" & Fila) = "Cobrado" Then .Range("c" & Fila).EntireRow.Delete
Next
End With
Me.Save
End Sub

saludos,
hector.

p.d. 'aprovechando' :)) tengo que 'sugerirte' lo siguiente... :(
[creo que] no es 'buena idea' pedir 'que responda' [solamente] algun grupo o persona 'en particular' :((
[con seguridad] 'alguien mas' podria tener la respuesta ANTES que 'el interpelado'... 'pero'... ¿responderia???
[inclusive, 'el interpelado' pudiera no 'estar disponible' en ese momento y A TI pudiera 'urgirte' una solucion] :\\
Respuesta Responder a este mensaje
#2 Petra
03/02/2004 - 16:01 | Informe spam
Hola Hector...

Muchas gracias por tu ayuda. ya me funcionó la
validacion... es que apenas estoy aprendiendo sobre
validacion... por eso el super error de trocar el rango y
la funcion... pero bueno, hay que aprender... ;)

Otra cosita. como ingreso al código del libro??
despues de ingresar me las ingenio para hacer lo que me
dices... pues necesito esa macro para poder distribuir
entre los usuarios el Libro con las validaciones y estar
segura de que no me van a dañar el trabajo saliendo de
Excel sin eliminar las filas con los cheques cobrados...
pues todos los dias cambio los datos de MttoBANCOLOMBIA y
vuelven otra vez a aparecerme como no cobrados.

Gracias nuevamente por tu ayuda y te aseguro que voy a
tener en cuenta tu sugerencia de no "limitar" los mensjaes
a una sola persona.. ;)

Petra

hola, Petra !

... sobre ... validar ... 2 columnas ... algo similar




pero entre ... 2 hojas del mismo libro [...]
... me da como resultado "sin cobrar" en todas las




filas, aun teniendo un dato que deberia salir "cobrado"
[...]
1) ="Cobrado "&CONTAR.SI(A8;Mtto.BANCOLOMBIA!A:A)&"




VECES."
2) =SI(CONTAR.SI(A8;Mtto.BANCOLOMBIA!A:A)


0;"Cobrado";"Sin cobrar")
__________
con respecto de las formulas, el


argumento 'rango_a_buscar_donde' es primero en las
funciones Sumar.Si, Contar.Si ...
1) ="Cobrado "&Contar.Si(Mtto.BANCOLOMBIA!A:A;A8)&"


VECES."
2) =Si(Contar.Si(Mtto.BANCOLOMBIA!A:A;A8)
0;"Cobrado";"Sin cobrar")

... posible ... macro ... que antes de cerrar el Libro




elimine las filas que tienen como resultado "Cobrado" [...]
_________
[para 'estos casos', es mejor hacer un 'recorrido a la


inversa' -de abajo hacia arriba-]
suponiendo que usas la formula de la opcion 2 en la


columna 'C' de la 'Hoja1'...
[si usas la opcion 1, sera necesario un[a 'especie'


de] 'filtro' para 'verificar' que esta 'cobrado'] ;)
en el modulo de codigo del libro [ThisWorkbook'] ==>Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Fila As Long
With Worksheets("Hoja1")
For Fila = .Range("c65536").End(xlUp).Row To 1 Step -1
If .Range("c" & Fila) = "Cobrado" Then .Range("c" &


Fila).EntireRow.Delete
Next
End With
Me.Save
End Sub

saludos,
hector.

p.d. 'aprovechando' :)) tengo que 'sugerirte' lo


siguiente... :(
[creo que] no es 'buena idea' pedir 'que


responda' [solamente] algun grupo o persona 'en
particular' :((
[con seguridad] 'alguien mas' podria tener la


respuesta ANTES que 'el interpelado'... 'pero'...
¿responderia???
[inclusive, 'el interpelado' pudiera no 'estar


disponible' en ese momento y A TI pudiera 'urgirte' una
solucion] :\\


.

Respuesta Responder a este mensaje
#3 Héctor Miguel
03/02/2004 - 16:18 | Informe spam
hola, Petra !

... como ingreso al codigo del libro?? [...]



la manera mas 'rapida' de accesar al editor de macros [vba] es:
- usar el atajo de teclado, combinando las teclas {Alt}+{F11}
- una vez en el editor, al lado izquierdo veras el 'explorador de proyectos' [similar al de windows]
- das doble-click al objeto 'ThisWorkbook' y ya estas en el modulo de codigo del libro. ;)

saludos,
hector.
Respuesta Responder a este mensaje
#4 Petra
03/02/2004 - 17:58 | Informe spam
Hector...
Lo hago tal como me dices, y luego cambio de la siguiente
manera para ponerle el nombre de la Hoja y cambio los
nombre de la columna:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Fila As Long
With Worksheets("CHQ's pend. cobro")
For Fila = .Range("d65536").End(xlUp).Row To 1 Step -1
If .Range("d" & Fila) = "Cobrado" Then .Range("d" &
Fila).EntireRow.Delete
Next
End With
Me.Save
End Sub

Cierro el Libro, tengo filas con el resultado "cobrado" y
vuelvo a abrirlo y siguen las filas igual no está
eliminando esas filas QUE PUEDE SER?????

GRACIAS.. :)
Respuesta Responder a este mensaje
#5 Héctor Miguel
04/02/2004 - 02:16 | Informe spam
hola, Petra !

... cambio ... el nombre de la Hoja y .. de la columna:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
[...]
If .Range("d" & Fila) = "Cobrado" Then .Range("d" & Fila).EntireRow.Delete
[...]
Cierro el Libro, tengo filas con el resultado "cobrado" y vuelvo a abrirlo y siguen las filas igual
... no esta eliminando esas filas QUE PUEDE SER?????



=> las 'comparaciones' de texto [en vba] necesitan ser 'exactamente' ['comparables'] <- si en las celdas 'esta quedando' [exactamente] =>cobrado<= [todo en minusculas], cambia a la instruccion...
If .Range("d" & Fila) = "cobrado" Then .Range("d" & Fila).EntireRow.Delete
- si en las celdas 'queda' [aleatoriamente] =>Cobrado<=, =>cobrado<=, =>COBRADO<=, cambia a...
If StrConv(.Range("d" & Fila), vbLowerCase) = "cobrado" Then .Range("d" & Fila).EntireRow.Delete
- si en las celdas 'queda' =>cobrado...'y algo mas'<= ...
'hay que 'buscar' otra forma de 'encontrar' las filas que se han de eliminar :((

saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida