Macro para preencher automaticamente as colunas no Excel

2

Eu gravei uma macro no Excel que preenche as colunas com fórmulas. No entanto, ele é limitado ao intervalo que eu estava usando em meus dados de teste, ou seja, ele não preenche a última linha de dados quando eu uso um conjunto de dados diferente (mais longo):

ActiveCell.FormulaR1C1 = "Term"
Range("H2").Select
ActiveCell.FormulaR1C1 = "=ROUND((RC[-1]-RC[-2])/30,0)"
Range("H2").Select
Selection.AutoFill Destination:=Range("H2:H11")
Range("H2:H11").Select

Se você puder ver acima, o intervalo será limitado a H2:H11 , mas eu quero que ele seja preenchido automaticamente até a última linha de dados preenchida no conjunto de dados. Isso pode ser feito verificando se a coluna A está preenchida, mas não consigo encontrar código que funcione - nada é simples o suficiente para eu atender.

Os dados são 10.000 linhas com várias colunas, essa parte específica da macro está preenchendo uma fórmula em uma coluna em branco, mas eu só quero preencher as 10.000 linhas. A coluna A contém dados, por isso, como posso usar isso para definir o intervalo para preencher automaticamente a fórmula?

Eu já vi outras respostas aqui se referindo a transformar os dados em uma tabela no Excel - mas estou relutante em fazer isso, já que estou lidando com um conjunto de dados de mais de 10.000 linhas e isso adiciona muito mais formatação, etc.

    
por newbie 05.07.2016 / 22:17

1 resposta

0

Você pode tentar ActiveSheet.UsedRange.Rows.Count , que retorna o último número da linha da planilha atual. Embora não marque a linha A, é uma maneira simples de preencher os dados até a última linha.

Por exemplo

lastRow = ActiveSheet.UsedRange.Rows.Count
' ... something else ...
Selection.AutoFill Destination:=Range("H2:H" & lastRow)

Você pode substituir o Activesheet por um objeto Worksheet se desejar especificar uma planilha para trabalhar.

    
por 06.07.2016 / 10:32