Use dinamicamente a função de intervalo 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 tornar "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!

Eddy
fonte

Respostas:

0

Sim.

Você pode usar algo como isto:

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

Leitura adicional: https://msdn.microsoft.com/en-us/library/office/ff839539.aspx

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

.Range(Range("E27"),Range("E27").End(xlDown)).Formula = strFormulas
Máté Juhász
fonte
Isso funciona, obrigado! :) Ou seja, se eu inserir uma linha acima da tabela e "E27" se tornar "E28", existe uma maneira de alterar dinamicamente a referência de célula?
Eddy