Duda al buscar caracteres

Buenas tardes,
Tengo la siguiente duda, en la columna tengo los valores
a1 café
a2 tetera
a3 lápiz
a4 julepe
En la columna B tengo los valores:
b1 provisión
B2 COBRAR
B3 VENDER
b4 comercializar
En la columna D1 tengo el nombre CARLOS, por lo que necesito que me busque los dos primeros caracteres de la columna DE (1... 100) en los dos primeros caracteres de la columna A, de tal manera que al ver que en la columna A solo el aparece CAFÉ y los dos primeros caracteres coinciden, me devuelva el valor de la columna B1, en este caso PROVISIÓN
¿Es posible?
Muchas, muchas gracias.

1 respuesta

Respuesta
1
Claro que es posible te pongo las lineas de código solo para el ejemplo siguiente, como no sé donde quieres que te lo devuelva lo pondré en la columna E:
       A B D
1 café provisión carlos
Sub Buscar_Caracteres()
Dim mi_celda, celdaA, celdaB, celdaINI, celdaFIN As String
Sheets("Hoja1").Select
Range("A1").Select
Do While ActiveCell.Address <> "$A$100"
On Error Resume Next
mi_celda = ActiveCell.Address
celdaA = ActiveCell.Text
celdaINI = Left(celdaA, 2)
ActiveCell.Offset(0, 3).Select
celdaB = ActiveCell.Text
celdaFIN = Left(celdaB, 2)
If celdaINI = celdaFIN Then
ActiveCell.Offset(0, 1).Value = ActiveCell.Offset(0, -2).Value
End If
Range(mi_celda).Select
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Esta macro recorre todas las filas has la celda A100 y si encuentra que son iguales los dos primeros caracteres de las columna A y DE te devuelve el valor de B en la columna E.
Ok, muchas gracias
Me surge la siguiente duda, en la columna DE, tengo varios nombre: carlos, laura, juan, manolo, por lo que la macro, me busca CA y al ver que coincide carlos con café, me devuelve PROVISIÓN, es correcto, pero ¿cómo se hace que los nombres siguientes que son laura me busque que al coincidir con lápiz, me devuelva VENDER, etc? Es decir, que me busque los dos primeros caracteres de todos los nombres de la columna DE (sean los caracteres que sean) y me los busque en toda la columna A, para que me devuelva el valor de la equivalencia en el columna B.
Gracias
Esta macro hace eso, pero tu ahora me dices que no tienen porque estar uno junto a otro si no que pueden estar en toda la columna y me estas diciendo Col DE y comparamos Col A y te lo tiene que devolver en la Col E pero junto al nombre encontrado, en orden desde la celda E1 dime como necesitas que los coloque una vez que lo encuentre y donde.
>Un saludo
>Julio
Buenos días
Lo que necesitaría sería; en la columna A, tengo
a1 café
a2 tetera
a3 lápiz
a4 julepe
a5 camino
En la columna B, tengo
b1 provisión
B2 COBRAR
B3 VENDER
b4 comercializar
b5 facturar
Si en la columna C, inserto los siguientes nombres cuyos dos primeros caracteres coincidan con los dos primeros caracteres de todos los nombres de
la columna A, me devuelva el valor de la columna B.
Ejemplo:
Si pongo CARLOS, en la columna C, al buscar CA en la columna A, como ve que aparece CA-FE, me debería devolver su homologo que es PROVISIÓN, y como
hay otra CA en la misma columna que es CA-MINO, también me debería devolver FACTURAR.
¿Es posible?
Gracias por todo
Eso ya te lo había hecho antes, pero mi pregunta es "cuando dices me lo devuelve" donde te lo tiene que poner:
     A B C D
1 café provisión carlos
2 tetera cobrar
3 lápiz vender
4 julepe comercializar
5 camino facturar
A ver los valores CAFÉ y CAMINO donde los pongo... esa era mi pregunta, en DE, E, F, G... y si vuelves a buscar otro valor en la Col C pongamos JULIÁN donde ponemos JULEPE...
>Un saludo
>Julio
Buenos días,
Disculpame. El valor necesitaría que fuera devuelto en la columna D.
Necesito buscar todos los valores de la columna C (unas 500 filas) que me busque las dos primeras iniciales en toda la columna A ( 500 filas), y que me devvuelva en el caso de coincidir las iniciales, el campo de la columna B en la columna D.
Lo único es que en el caso de Carlos, como CA-rlos, coincide con ca-fe y ca-mino, me podría devolver el valor de provisión y facturar.
Gracias
Vale ya sabemos donde quieres el resultado, pero si coinciden más de uno que quieres ¿qué todos estén en la misma celda?
Aclarame esto.
>Un saludo
>Julio
Hola de nuevo
Si solo hay un resultado, que lo devuelva en la columna DE, y si hay más por la búsqueda de un carácter, que devuelva uno en la DE, otro en la E,... así hasta dar todas las coincidencias.
Gracias
Vale aclarado todo por fin ( anda que si me lo dices todo del principio...) la macro quedaría así para ponerla en un botón o donde quieras:
Sub Buscar_Caracteres()
Dim mi_celda, la_celda, celdaA, celdaB, celdaINI, celdaFIN As String
Sheets("Hoja1").Select
Range("C1").Select
Do While ActiveCell.Value <> ""
On Error Resume Next
mi_celda = ActiveCell.Address
celdaA = ActiveCell.Text
celdaINI = Left(celdaA, 2)
Range("A1").Select
Do While ActiveCell.Value <> ""
la_celda = ActiveCell.Address
celdaB = ActiveCell.Text
celdaFIN = Left(celdaB, 2)
If celdaINI = celdaFIN Then
ActiveCell.Offset(0, 1).Copy
Range(mi_celda).Select
Do While ActiveCell.Value <> ""
ActiveCell.Offset(0, 1).Select
Loop
If ActiveCell.Value = "" Then
ActiveCell.PasteSpecial
End If
End If
Range(la_celda).Select
ActiveCell.Offset(1, 0).Select
Loop
Range(mi_celda).Select
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Pruebalá y si te ha servido puntúas y finalizas la consulta. Gracias
>Un saludo
>Julio
Julio, eres un crack
Muchas gracias por tu ayuda, era justo lo que necesitaba. Me has faciltado el trabajo, y disculpa el haberme demorado en detallarte bien lo que necesitaba.
Un saludo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas