Excel: um simples Do-loop para copiar e colar e fazer uma tabela

1

Eu gostaria de fazer um simples (eu acho!) Do-loop para o seguinte:  Meu programa simples funciona como eu quero, mas acho que há uma maneira mais fácil, como eu gostaria de repeti-lo 1000 vezes. Talvez usando algum tipo de loop? Do-Loop ou não. Resumindo, quero:

  1. copie o conteúdo da A1
  2. Cole-os em B1
  3. copia a célula C1 (tem uma fórmula simples que atua em B1)
  4. copie o 'valor' (apenas) de C1 para D1 (que será uma tabela de tais valores)

Eu desejo fazer isso de A1 a A1000 e obter uma tabela de valores D1, D2, ..., D1000 (talvez como uma tabela quadrada). As células B1 e C1 permanecem fixas.

Meu programa está abaixo:

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
    
por user869299 06.02.2018 / 12:13

1 resposta

1

Você quer um simples loop For ... Next:

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
    
por 24.02.2018 / 00:55