Excel: un sencillo bucle Do para copiar, pegar y crear una tabla

Excel: un sencillo bucle Do para copiar, pegar y crear una tabla

Deseo hacer un bucle Do simple (¡creo!) para lo siguiente: Mi programa simple funciona como quiero, pero creo que hay una manera más fácil ya que deseo repetirlo 1000 veces. ¿Quizás usando algún tipo de bucle? Do-Loop o de otro modo. En resumen quiero:

  1. copiar el contenido de A1
  2. Pégalos en B1
  3. copiar la celda C1 (tiene una fórmula simple que actúa sobre B1)
  4. copie el 'valor' (solo) de C1 a D1 (que será una tabla de dichos valores)

Deseo hacer esto para A1 a A1000 y obtener una tabla de valores D1, D2,..., D1000 (quizás como una tabla cuadrada). Las celdas B1 y C1 permanecen fijas.

Mi programa está a continuación:

Sub PasteSpecial_Examples()

    Range("A1").Copy Range("B1")
    Range("C1").Copy
    Range("D1").PasteSpecial Paste:=xlPasteValues

    Range("A2").Copy Range("B1")
    Range("C1").Copy
    Range("D2").PasteSpecial Paste:=xlPasteValues

    Range("A3").Copy Range("B1")
    Range("C1").Copy
    Range("D3").PasteSpecial Paste:=xlPasteValues

    Range("A4").Copy Range("B1")
    Range("C1").Copy
    Range("D4").PasteSpecial Paste:=xlPasteValues


    Application.CutCopyMode = False

End Sub

Respuesta1

Quieres un bucle For...Siguiente simple:

Sub PasteSpecial_Examples()

  For i = 1 To 1000
    Range("A" & i).Copy Range("B1")
    Range("C1").Copy
    Range("D" & i).PasteSpecial Paste:=xlPasteValues
  Next i

  Application.CutCopyMode = False

End Sub

información relacionada