Obtener registro especifico

07/12/2004 - 21:39 por BLACIO | Informe spam
salud2 a toda la comunidad y de antemano muchas Gracias...

Tengo un archivo que obtengo de un sistema y me da la información en 3 columnas.
En la segunda columna la información importante y que se requiere es un número de contrato de 4 a 6 dígitos y que después en otro archivo aplico la función BuscarV, para obtener la información de la tercera columna.

He aquí el problema.


La información de la segunda columna es variada
(Por ejemplo: Contrato de reporto A-2020-1, Información C-2021-A, HSBC Contrato-202222-1, C-202223-A Contrato activo, Etc.)
Actualmente se depura la información con reemplazar, pero es muy tardado en virtud de que son muchos registros y no tienen un orden definido.
Lo que se necesita es solo obtener la información de los No. de contratos para aplicar la función BuscarV
O alguna sugerencia por parte de ustedes


Gracias nuevamente...
 

Leer las respuestas

#1 KL
07/12/2004 - 22:57 | Informe spam
BLACIO,

Lo q no acabo de captar es cual es el problema con BUSCARV. Lo q describes
no interfiere para nada con el funcionamiento de dicha funcion.

Pero de todas formas prueba este macro para depurar tus numeros de
contratos - tienes q seleccionar el area donde se encuentran los numeros a
extraer.

Saludos,
KL

-Inicio Codigo-
Sub DepurarNosContrato()
Dim c As Range
Dim Texto As String
For Each c In Selection.Cells
With Application.WorksheetFunction
Select Case True
Case c Like "*-####-*" Or _
c Like "*-#####-*" Or _
c Like "*-######-*"
Texto = Mid(c.Text, .Find("-", c.Text) + 1, 255)
c.Value = Trim(Left(Texto, .Find("-", Texto) - 1))
Case c Like "*-####" Or _
c Like "*-#####" Or _
c Like "*-######"
c.Value = Trim(Right(c, Len(c) - .Find("-", c)))
Case c Like "####-*" Or _
c Like "#####-*" Or _
c Like "######-*"
c.Value = Trim(Left(c, .Find("-", c) - 1))
End Select
End With
Next c
End Sub

-Fin Codigo-

"BLACIO" wrote in message
news:
Mostrar la cita

Preguntas similares