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...

Preguntas similare

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:
salud2 a toda la comunidad y de antemano muchas Gracias...
Tengo un archivo que obtengo de un sistema y me da la informacion en 3
columnas.
En la segunda columna la informacion importante y que se requiere es un
numero de contrato de 4 a 6 digitos y que despues en otro archivo aplico
la funcion BuscarV, para obtener la informacion de la tercera columna.
He aqui el problema.


La informacion de la segunda columna es variada
(Por ejemplo: Contrato de reporto A-2020-1, Informacion C-2021-A, HSBC
Contrato-202222-1, C-202223-A Contrato activo, Etc.)
Actualmente se depura la informacion 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 informacion de los No. de contratos
para aplicar la funcion BuscarV
O alguna sugerencia por parte de ustedes


Gracias nuevamente...

Respuesta Responder a este mensaje
#2 KL
07/12/2004 - 23:02 | Informe spam
BLACIO,

Olvida el comentario acerca de BUSCARV - lo entiendo ahora. Mirate el macro.

Un saludo,
KL

"KL" <lapink2000(at)hotmail.com> wrote in message
news:%
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:
salud2 a toda la comunidad y de antemano muchas Gracias...
Tengo un archivo que obtengo de un sistema y me da la informacion en 3
columnas.
En la segunda columna la informacion importante y que se requiere es un
numero de contrato de 4 a 6 digitos y que despues en otro archivo aplico
la funcion BuscarV, para obtener la informacion de la tercera columna.
He aqui el problema.


La informacion de la segunda columna es variada
(Por ejemplo: Contrato de reporto A-2020-1, Informacion C-2021-A, HSBC
Contrato-202222-1, C-202223-A Contrato activo, Etc.)
Actualmente se depura la informacion 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 informacion de los No. de
contratos para aplicar la funcion BuscarV
O alguna sugerencia por parte de ustedes


Gracias nuevamente...





Respuesta Responder a este mensaje
#3 Juan Sánchez
07/12/2004 - 23:42 | Informe spam
Otra forma de depurarlos sería con la opción de Texto en Columnas (menú
Datos), pero siempre que el formato sea
texto-num-texto
es decir que en la celda el número de contrato esté siempre entre los dos
guiones y que solo existan esos dos guiones.
Seleccionas la columna
Te vas a dato ->Texto en columnas
Primer paso: Delimitados
Segundo paso: Separador -> otro especificas - (guión)
Allí veras que se te forman 3 columnas donde la segunda es el número de
contrato.
Tercer paso: La primera y tercera columna "no importar"
la segunda columna le indicas a partir de que celda deseas colocarla
que puede ser la misma donde está.

Finalizar.

La desventaja de este método es que tendrías que realizar los 3 pasos cada
vez que quieras separalos, en cambio que la macro de KL la ejecutas y listo.

Slds,
Juan



"BLACIO" escribió en el mensaje
news:
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...

Respuesta Responder a este mensaje
#4 BLACIO
09/12/2004 - 18:23 | Informe spam
Gracias a los 2
las dos opciones son validas

"KL" escribió:

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:
> salud2 a toda la comunidad y de antemano muchas Gracias...
>> Tengo un archivo que obtengo de un sistema y me da la informacion en 3
>> columnas.
>> En la segunda columna la informacion importante y que se requiere es un
>> numero de contrato de 4 a 6 digitos y que despues en otro archivo aplico
>> la funcion BuscarV, para obtener la informacion de la tercera columna.
>>> He aqui el problema.
>> La informacion de la segunda columna es variada
>> (Por ejemplo: Contrato de reporto A-2020-1, Informacion C-2021-A, HSBC
>> Contrato-202222-1, C-202223-A Contrato activo, Etc.)
>> Actualmente se depura la informacion 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 informacion de los No. de contratos
>> para aplicar la funcion BuscarV
>> O alguna sugerencia por parte de ustedes
> Gracias nuevamente...
>



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