none
Macro - Replicar Coluna VBA RRS feed

  • Pergunta

  • Boa tarde, 

    Tenho a seguinte situação, tenho formulas na coluna A, da linha A1 até a A25, gostaria de replicar essas formulas para a coluna B, C, D, porém precisaria ter uma variável da seguinte forma, eu tenho um campo aonde diz quantos anos preciso calcular pra frente, a quantidade de anos, seria a quantidade de colunas para replicar.

    Os dados da Coluna A, serão replicado pra Coluna B se for 1 ano, os dados da coluna A serão replicados pras Colunas B e C se for 2 anos, e assim sucessivamente.

    Alguém pode me ajudar?


    • Editado DougMW terça-feira, 27 de março de 2018 18:33
    terça-feira, 27 de março de 2018 17:48

Respostas

  • DougMW,

        Por favor, veja se é isso que você quer:

        1 - Dentro da "Planilha1" eu coloquei texto de "A2" até "A26";
        2 - Na coluna "A1" escrevi "ANOS" e na coluna "B1" coloquei o valor '3';

    Sub selecionar_celulas()
    
    Dim intAnos As Integer
    
        With Sheets("Planilha1")
            intAnos = Conversion.CInt(.Range("B1").Text)
            
            .Cells(2, 1).Resize(26, 1).Copy
            
            For i = 2 To intAnos + 1
                .Range(.Cells(2, i), .Cells(26, i)).Select
                ActiveSheet.Paste
            Next i
            
        End With
    
    End Sub

        

        Todos os valores foram copiados até a coluna "D".

    []'s,
    Fabio I.

    • Editado Fabio I terça-feira, 27 de março de 2018 20:49
    • Marcado como Resposta DougMW quarta-feira, 28 de março de 2018 11:42
    terça-feira, 27 de março de 2018 20:44

Todas as Respostas

  • DougMW,

        Por favor, veja se é isso que você quer:

        1 - Dentro da "Planilha1" eu coloquei texto de "A2" até "A26";
        2 - Na coluna "A1" escrevi "ANOS" e na coluna "B1" coloquei o valor '3';

    Sub selecionar_celulas()
    
    Dim intAnos As Integer
    
        With Sheets("Planilha1")
            intAnos = Conversion.CInt(.Range("B1").Text)
            
            .Cells(2, 1).Resize(26, 1).Copy
            
            For i = 2 To intAnos + 1
                .Range(.Cells(2, i), .Cells(26, i)).Select
                ActiveSheet.Paste
            Next i
            
        End With
    
    End Sub

        

        Todos os valores foram copiados até a coluna "D".

    []'s,
    Fabio I.

    • Editado Fabio I terça-feira, 27 de março de 2018 20:49
    • Marcado como Resposta DougMW quarta-feira, 28 de março de 2018 11:42
    terça-feira, 27 de março de 2018 20:44
  • Perfeito, obrigado!!!
    quarta-feira, 28 de março de 2018 11:43