Busquedas

12/02/2006 - 14:21 por Javier | Informe spam
hola a todos:
Tengo una hoja de cálculo con varias columnas, entre ellas nº, importe,
fecha y sociedad. Necesito crear mediante una macro o código un
procedimiento en el que yo le introduzca dos valores correspondientes a las
columnas nº e importe y me devuelva verdadero o falso dependiendo de si los
ha encontrado en una misma fila.

Mediante la función FIND encuentro si uno de los valores está en la tabla
pero no soy capaz de buscar el otro valor en la misma fila en la que me ha
encontrado el primero.

¿alguna idea?

Muchas gracias

Javier

Preguntas similare

Leer las respuestas

#1 KL
12/02/2006 - 15:27 | Informe spam
Hola Javier,

Suponiendo que:
- nº esta en la columna [A] y en cualquier formato
- importe esta en la columna [C] y en formato numerico

Prueba algo asi:

Sub test()
Dim Numero As String, Importe As Double, rng As Range
Numero = _
InputBox("introduzca el numero:")
Importe = _
Application.InputBox("introduzca el importe:", , , , , , , 1)
Set rng = [A1]
If Numero = "" And Importe = 0 Then Exit Sub
For i = 0 To Application.CountIf([A:A], Numero) - 1
Set rng = [A:A].Find(Numero, rng.Offset(i))
If rng.Offset(, 2) = Importe Then
MsgBox True
Exit Sub
End If
Next i
MsgBox False
End Sub

Saludos,
KL



"Javier" wrote in message news:
hola a todos:
Tengo una hoja de cálculo con varias columnas, entre ellas , importe,
fecha y sociedad. Necesito crear mediante una macro o código un
procedimiento en el que yo le introduzca dos valores correspondientes a las
columnas nº e importe y me devuelva verdadero o falso dependiendo de si los
ha encontrado en una misma fila.

Mediante la función FIND encuentro si uno de los valores está en la tabla
pero no soy capaz de buscar el otro valor en la misma fila en la que me ha
encontrado el primero.

¿alguna idea?

Muchas gracias

Javier


Respuesta Responder a este mensaje
#2 Toni
12/02/2006 - 21:11 | Informe spam
Otra opción diferente, creo.

Suponiendo que, como dice KL, nº en columna A e importe en columna C. Poner
en una columna
libre, por ejemplo F (que posteriormente se puede ocultar), ¡&C1.
A continuación, tanto en columna A como C, formato condicional-->
fórmula>
=CONTAR.SI($F:$F;F1)>1 y darle un formato a tu gusto.

Saludos,
Toni, Barcelona.


"KL" escribió en el mensaje
news:%23hDZFD%
Hola Javier,

Suponiendo que:
- nº esta en la columna [A] y en cualquier formato
- importe esta en la columna [C] y en formato numerico

Prueba algo asi:

Sub test()
Dim Numero As String, Importe As Double, rng As Range
Numero = _
InputBox("introduzca el numero:")
Importe = _
Application.InputBox("introduzca el importe:", , , , , , , 1)
Set rng = [A1]
If Numero = "" And Importe = 0 Then Exit Sub
For i = 0 To Application.CountIf([A:A], Numero) - 1
Set rng = [A:A].Find(Numero, rng.Offset(i))
If rng.Offset(, 2) = Importe Then
MsgBox True
Exit Sub
End If
Next i
MsgBox False
End Sub

Saludos,
KL



"Javier" wrote in message
news:
hola a todos:
Tengo una hoja de cálculo con varias columnas, entre ellas , importe,
fecha y sociedad. Necesito crear mediante una macro o código un
procedimiento en el que yo le introduzca dos valores correspondientes a
las
columnas nº e importe y me devuelva verdadero o falso dependiendo de si
los
ha encontrado en una misma fila.

Mediante la función FIND encuentro si uno de los valores está en la tabla
pero no soy capaz de buscar el otro valor en la misma fila en la que me
ha
encontrado el primero.

¿alguna idea?

Muchas gracias

Javier





Respuesta Responder a este mensaje
#3 Javier
13/02/2006 - 17:07 | Informe spam
Hola a los dos:
Muchas gracias por vuestras sugerencias. Finalmente opté por el código de KL
y va como la seda.

Lo dicho, Gracias de nuevo.

Javier.

"KL" escribió en el mensaje
news:%23hDZFD%
Hola Javier,

Suponiendo que:
- nº esta en la columna [A] y en cualquier formato
- importe esta en la columna [C] y en formato numerico

Prueba algo asi:

Sub test()
Dim Numero As String, Importe As Double, rng As Range
Numero = _
InputBox("introduzca el numero:")
Importe = _
Application.InputBox("introduzca el importe:", , , , , , , 1)
Set rng = [A1]
If Numero = "" And Importe = 0 Then Exit Sub
For i = 0 To Application.CountIf([A:A], Numero) - 1
Set rng = [A:A].Find(Numero, rng.Offset(i))
If rng.Offset(, 2) = Importe Then
MsgBox True
Exit Sub
End If
Next i
MsgBox False
End Sub

Saludos,
KL



"Javier" wrote in message
news:
hola a todos:
Tengo una hoja de cálculo con varias columnas, entre ellas , importe,
fecha y sociedad. Necesito crear mediante una macro o código un
procedimiento en el que yo le introduzca dos valores correspondientes a
las
columnas nº e importe y me devuelva verdadero o falso dependiendo de si
los
ha encontrado en una misma fila.

Mediante la función FIND encuentro si uno de los valores está en la tabla
pero no soy capaz de buscar el otro valor en la misma fila en la que me
ha
encontrado el primero.

¿alguna idea?

Muchas gracias

Javier





email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida