Dinamicamente usa a função range na tabela; VBA

1

Eu tenho uma função que é usada para colar uma fórmula em um intervalo de uma tabela.

Existe uma maneira de selecionar o intervalo dinamicamente. Ou seja se a tabela for redimensionada ou uma linha ou col. está inserido?

Ou seja. se eu inserir uma linha acima da tabela e "E27" se torna "E28", existe uma maneira de alterar dinamicamente a referência da célula?

Meu código:

Function InnOtra()

    Dim strFormulas(1 To 1) As Variant

    With ThisWorkbook.ActiveSheet

        strFormulas(1) = "=IFERROR([@[Inn Otra kampanje]]*((1-[@[% Enhetspris kunde]])),""-"")"
        .Range("E27").Formula = strFormulas
        .Range("E27:E64").FillDown

    End With

End Function

Felicidades!

    
por Eddy 07.03.2017 / 11:42

1 resposta

0

Sim.

Você pode usar algo assim:

.Range(Range("E27"),Range("E27").End(xlDown))

Outras leituras: link

Além disso, você não precisa usar FillDown , pode fazer tudo em uma linha:

.Range(Range("E27"),Range("E27").End(xlDown)).Formula = strFormulas
    
por 07.03.2017 / 11:55