Como puedo repetir una macro con condiciones en exel (vba)

Tengo una serie de hojas pero necesito sacar información de hoja movimientos a hoja salida, también tengo una macro y quiero que se repita hasta donde se llenen los list box que son 20, que condición me podrá servir y donde puedo intervenir la macro para poder ejecutar el nuevo código o si alguien me pude simplificar el código

Para entrar y hacer el movimiento digitas solo 5 1º nº del rut y aparece el nombre nombre del trabajador luego rellena el nº box y tiene que seguir llenando la cantidad de materiales y los materiales estan en una caja de texto que son 20

Gracias por ayudar

Sub Macro1()
'
' Macro1 Macro
'

'
Range("B5").Select
Sheets("SALIDAS").Select
Rows("2:2").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("H2").Select
Sheets("MOVIMIENTOS").Select
Range("B5").Select
Selection.Copy
Sheets("SALIDAS").Select
Range("G2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("F2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("MOVIMIENTOS").Select
Range("D5").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("SALIDAS").Select
Range("E2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("MOVIMIENTOS").Select
Range("E5").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("SALIDAS").Select
Range("D2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("MOVIMIENTOS").Select
Range("D8").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("SALIDAS").Select
Range("C2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("MOVIMIENTOS").Select
Range("E8").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("SALIDAS").Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("MOVIMIENTOS").Select
Application.CutCopyMode = False
Range("F3").Select
End Sub

1 respuesta

Respuesta
2

Debes hacer un bucle con for, while, Do o alguno que te permita repetir un procedimiento

Mira estos ejemplos

https://youtu.be/Zz_dpviPzKs

https://youtu.be/Oukw65zwnzE

https://www.programarexcel.com/2016/10/como-usar-la-instruccion-do-loop-while.html 

https://www.programarexcel.com/2016/09/como-usar-intruccion-select-case-en.html 

https://www.programarexcel.com/2016/02/instruccion-while-wend-en-macro.html 

https://www.programarexcel.com/2016/01/instruccion-for-next-en-macro.html 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas