Escrevendo código VBA para preencher até o final de um intervalo que varia em comprimento

0

Estou escrevendo uma macro para automatizar a conclusão de um relatório que tenha a mesma estrutura de coluna (ou seja, os mesmos campos nas mesmas colunas mês após mês). No entanto, o número de registros no relatório muda de mês para mês.

Ao usar o gravador de macro para preencher uma coluna específica, ele gerou esse código:

Destino Selection.AutoFill: = Range ("Z2: Z1092")

Parece que esse código só funciona para um relatório que termina na linha 1092. Existe uma maneira de modificar esse código para que ele seja atualizado dinamicamente, dependendo da duração do relatório?

Eu estava pensando que se eu definir uma variável que é igual à linha final do relatório e usar isso no lugar do 1092 nessa linha de código que faria o truque. Eu sou novo em usar o VBA e qualquer ajuda é imensamente apreciada.

    
por Richard Pullman 09.07.2013 / 16:25

1 resposta

1

você pode tentar:

lngLastRow= ActiveSheet.UsedRange.Rows.Count

Selection.AutoFill Destination:=Range("Z2:Z" & lnglastrow)

mas sugiro que você evite usar o objeto Selection, pois há um impacto significativo no desempenho ao selecionar as células. Em vez disso, basta usar o objeto Range para apontar para as células

    
por 09.07.2013 / 17:37