¿Cómo puedo ejecutar una macro, varias veces, copiando de manera individual datos que estén almacenados en una columna?

1

2

3

4

Ejemplo:
Primero copiar el 1 en una celda y ejecutar la macro,
luego copiar el 2 en la misma celda y ejecutar la macro
luego copiar el 3 en la misma celda y ejecutar la macro
luego copiar el 4 en la misma celda y ejecutar la macro

1 Respuesta

Respuesta
2

[Hola Jaime y bienvenido a TodoExpertos!

Prueba lo siguiente:

Cambia "Hoja1" y "B2" por la hoja y la celda donde quieres poner el número.

Cambia macro1 por tu macro que quieres ejecutar varias veces.

Sub Ejecutar()
  Dim i As Long
  For i = 1 To 4                            'ciclo de 1 a 4, cambia el 4 por el número que desees
    Sheets("Hoja1").Range("B2").Value = i   'pone el número en la celda B2 de la Hoja1
    Call macro1                             'ejecuta la macro
  Next
End Sub
Sub macro1()
  'aquí va tu macro
End Sub

Comenta si tienes dudas.

[Al final de mi respuesta hay un botón para valorar la respuesta.

detallare mejor el problema

en la hoja8 columna a:a estan los datos que quiero que se copien a la hoja MENU4 celda D11 de manera individual. luego de copiar el primer dato, necesito ejecutar en la hoja MENU4 una macro de nombre BUSCAR luego necesito ejecutar otra macro de nombre GUARDAR.
ese es el proceso que necesito que se repita copiando todos los datos que están en la hoja8 de manera individual.

ejemplo: columna A ESTAN LOS SIGUENTES DATOS
946
1691
1692
1693
1694...
primero seria copiar el dato 946 de la hoja8 celda A1 a la hoja MENU4 celda D11 luego ejecutar macro BUSCAR y después ejecutar macro GUARDAR.
luego seria copiar el dato 1691 de la hoja8 celda A2 a la hoja MENU4 celda D11 luego ejecutar macro BUSCAR y después ejecutar macro GUARDAR.
luego seria copiar el dato 1692 de la hoja8 celda A3 a la hoja MENU4 celda D11 luego ejecutar macro BUSCAR y después ejecutar macro GUARDAR.
y seguir así hasta haber ejecutado lo mismo para todos los datos que se encuentren en la HOJA8 CELDA A:A

[En verdad te agradezco tu explicación, eso ayuda mucho para que pueda entregarte la solución que estás buscando.

Prueba la siguiente macro:

Sub Ejecutar()
  Dim c As Range
  For Each c In Sheets("Hoja8").Range("A1", Sheets("Hoja8").Range("A" & Rows.Count).End(3))
    Sheets("MENU4").Range("D11").Value = c.Value
    Call BUSCAR
    Call GUARDAR
  Next
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas