¿Cómo utilizar la variable for y para modificar diferentes controles Textbox?
Lo que hace la macro es que con los datos de la primera columna de los textbox donde van los códigos de los productos, me liste en la tercera columna la descripción del producto y en la cuarta el precio del producto. Intento utilizar la variable FOR para hacer más reducido el código de modo que se repita desde el primer textbox de la columna de los códigos y coloque cada una de las descripciones de los productos en la tercera y los precios en la cuarta.
Mi código es el siguiente:
Private Sub CommandButton2_Click() Call Mostrar_descripcion_precio End Sub Private Sub Mostrar_descripcion_precio() If Trim(Txt_codigo1.Text) <> "" Or Trim(Txt_codigo2.Text) <> "" Or Trim(Txt_codigo3.Text) <> "" Or Trim(Txt_codigo4.Text) <> "" Or Trim(Txt_codigo5.Text) <> "" Or Trim(Txt_codigo6.Text) <> "" Or Trim(Txt_codigo7.Text) <> "" Or Trim(Txt_codigo8.Text) <> "" Or Trim(Txt_codigo9.Text) <> "" Or Trim(Txt_codigo10.Text) <> "" Or Trim(Txt_codigo11.Text) <> "" Or Trim(Txt_codigo12.Text) <> "" Or Trim(Txt_codigo13.Text) <> "" Or Trim(Txt_codigo14.Text) <> "" Or Trim(Txt_codigo15.Text) <> "" Then Dim Nombre As Variant Dim Precio As Variant Dim Rango As Range Dim NombreBuscado As Variant On Error GoTo ErrorHandler Set Rango = Hoja1.Range("Productos") NombreBuscado = CDbl(Me.Txt_codigo1.Value) Nombre = Application.WorksheetFunction.VLookup(NombreBuscado, Rango, 3, 0) Precio = Application.WorksheetFunction.VLookup(NombreBuscado, Rango, 4, 0) With Me .Txt_p1.Value = Nombre .Txt_pu_1.Value = Format(Precio, "0.00 ") End With Exit Sub ErrorHandler: If Err.Number = 1004 Then Me.Txt_p1.Value = "El valor '" & NombreBuscado & "' no fue encontrado." Else Me.Txt_p1.Value = "Ha ocurrido un error: " & Err.Description End If End If End Sub
Deseo poder modificar lo que está en recuadro rojo, de modo que por ejemplo cuando el FOR se ejecute desde 1 el valor buscado sea el código de Txt_codigo1 y modifique el Txt_p1(que contiene la descripción), Txt_pu_1 (que contiene el precio unitario) ; y así sucesivamente hasta llegar al 15 porque tengo 15 filas de productos.
Intenté colocar el código así: Txt_codigo & x & .value
x= valor del FOR que inicia en 1 y termina en 15
&= utilizaba para concatenar la palabra
Pero no me funcionó, lo que me interesa realizar es colocar el nombre de un control y unirlo con un número generado por un for. POR EJEMPLO:
FOR X=1 TO 50
TEXTBOX &X& .TEXT= EMPTY
COMBOBOX &X& .VALUE=EMPTY
NEXT
Subo el archivo a mediafire para que lo puedan verificar:
http://www.mediafire.com/file/vbing93r0th9jm5/BUSCARV_PRUEBA.xlsm