Búsqueda con textbox con la propiedad multiline

Tengo esta duda por favor si alguien me puede ayudar gracias.

Tengo información en la hoja1 con datos repetidos la macro que tengo hace una búsqueda por medio de un textbox en un userform en la hoja1
si encuentra el valor o valores los pega en la hoja2 con toda la información de la fila a partir de b1 lo que me gustaría saber es como hacer la búsqueda
pero con la propiedad de multiline y la de enterkeybehavior
Que dentro del textbox pueda meter:
000-010
001-994
345-430
y los pegue en la hoja 2 junto con su información, en la hoja 2 que el resultado de la búsqueda 1 (000-010) lo peque en b1
el resultado de la búsqueda 2 (001-994) lo pegue en b7
el resultado de la búsqueda 3 (345-430) lo pegue en b13

los resultados de la búsqueda los pegue en la columna b y vaya aumentando de 6 en 6.

***Que en el textbox tengo un limite de solo buscar 10 valores.

Gracias por su ayuda

1 Respuesta

Respuesta
1

El siguiente código, recupera la información de tu TextBox y almacena cada dato en una matriz que al final recorre para colocar la información en cada celda...

Adáptalo para que al final esa información no la copie en una celda sino que ejecute tu código de búsqueda...

Private Sub CommandButton1_Click()
Dim a As Variant
Dim TextoABuscar(10) As Variant
Dim i As Integer
Dim p As Integer
Dim posi As Integer
a = TextBox1.Value & Chr(13) & Chr(10)
i = 1 ' recorrer letras del textbox1
posi = 1 ' para cada dato que se extra
TextoABuscar(posi) = "" ' inicializar el dato para la primera búsqueda
Do
TextoABuscar(posi) = TextoABuscar(posi) & Mid(a, i, 1)
If Mid(a, i, 1) = Chr(10) Then
TextoABuscar(posi) = Left(TextoABuscar(posi), Len(TextoABuscar(posi)) - 2) ' quita las ultimas dos letras (carácter ENTER)
posi = posi + 1 ' cambia para buscar el siguiente texto
TextoABuscar(posi) = ""
End If
i = i + 1
Loop Until i > Len(a)
For p = 1 To posi
Cells(p, 1) = TextoABuscar(p)
Next p
End Sub

Gracias por responder la macro si funciona pero como haria para que pegue la informacion de la busqueda en la hoja2

que el resultado de la búsqueda 1 (000-010) lo peque en B1
el resultado de la búsqueda 2 (001-994) lo pegue en B7
el resultado de la búsqueda 3 (345-430) lo pegue en B13

usa otra variable al final...

... (Escribe aquí el código anterior... sin el ultimo bucle FOR, NEXT)

for x=1 to posi-1

ValorABuscarEnHoja1 = TextoABuscar(x)

... Aquí pon tu algoritmo de búsqueda de ValorABuscarEnHoja1 en la "hoja1"... (según dices esto ya lo esta haciendo tu macro)...

... Una vez que encuentra el valor... asigna cada valor (celda) de la fila encontrada a variables... digamos

Cel1, cel2, cel3, cel4, cel5, cel6 (he supuesto 6 columnas)

...

' Y aquí va tu código para ir escribiendo...

Worksheets("Hoja2").Cells(x*6-5, 1) = cel1

Worksheets("Hoja2").Cells(x*6-5, 2) = cel2

Worksheets("Hoja2").Cells(x*6-5, 3) = cel3

Worksheets("Hoja2").Cells(x*6-5, 4) = cel4

Worksheets("Hoja2").Cells(x*6-5, 5) = cel5

next x

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas