Hola,
Acabo de iniciarme en la programación de VBA. Quiero crear un macro para infinitas hojas pero por alguna razón no me sale correctamente. El objetivo es que el usuario inserte el número del cliente, y posteriormente en la misma hoja se generen automáticamente los datos del cliente. El libro del excel se va a organizar con la primera hoja para el usuario y el resto de hojas clientes. He pensado el siguiente procedimiento:
Paso 1: El usuario inserta el numero de cliente en hoja 1(en este caso celda B3)
Paso 2: Quiero que lea en todas las hojas del excel (que se llamaran 1, 2(por el número de cliente)) y la celda A1(en este caso) tendrá el numero del cliente.
Paso 3: Coger los datos del cliente(Hoja 2 celda A3) y copiarlos en la hoja 1(en este caso celda A4)
Todos los posicionamientos de las celdas se pueden variar.
Pongo el programa que he pensado para dos hojas que funciona, pero no se realizarlo con FOR:
Dim a as integer
Dim i as integer
Sub cliente()
a=0
if Sheets(1).Range("B3")= Sheets(2).Range("A1") then
Sheets(2). Range("A3").Copy Destination:=Sheets(1). Range ("A4")
if Sheets(1).Range("B3")= Sheets(3).Range("A1") then
Sheets(3). Range("A3"). Copy Destination:=Sheets(1). Range ("A4")
end if
end if
end sub
De esta manera funcionaria pero hay muchísimos clientes(por ejemplo 10), entonces he intentado con FOR pero no me sale
Dim a as integer
Dim i as integer
Sub cliente()
a=0
i=2
For i=2 to 11 'La primera hoja no hay que revisarla
if Sheets(1).Range("B3")= Sheets(i). Range("A1") then
a= Sheets(i). Range("A1")
Debug.Print Sheets(1).Range("A4").a
else
i=i+1
end if
next
end sub