Estatísticas de linha e coluna do VBA do Excel

De: https://www.cnblogs.com/acetaohai123/p/6505447.html

VBA obtém o número de linhas e colunas na tabela EXCEL

Cuidado para não usar palavras-chave como Columus como variáveis, como "Columus = ActiveSheet.UsedRange.Columns.Count"!

Os sapatos infantis para macros EXCEL iniciantes sempre querem saber o número de linhas e colunas na tabela, especialmente quando o número de linhas e colunas é incerto. Isso pode evitar muitos erros e melhorar a eficiência. Mas toda vez que o uso para pesquisar na Internet, sempre dou muitas respostas inúteis, e muitas vezes não consigo encontrar os resultados desejados. Sempre que uso, a pesquisa temporária é sempre uma dor de cabeça. Eu me deparei com um blog, que registrava diferentes métodos em detalhes.O autor testou várias descobertas e foi realmente útil. No espírito de compartilhar ao vivo, compartilhe o conteúdo do blog. Espero que ajude a todos.

Fonte: http://www.okexcel.com.cn/bbs/viewthread.php?tid=26

Nota: Em cada método, a parte superior é o número de linhas do Excel e a parte inferior é o número de colunas do Excel.

Método 1:

  ActiveSheet.UsedRange.Rows.Count

  ActiveSheet.UsedRange.Columns.Count

Desvantagens: Às vezes, pode ser maior que o número real.O motivo é que, se você limpar as últimas linhas (colunas) de dados (não a linha inteira ou a coluna inteira for excluída), esse comando ainda retornará o valor antes de não ser limpo. Ou seja, embora esteja vazio agora, mas você o usou antes é contado como seu.

 

Método 2:

  ActiveSheet.Range ("A65535"). End (xlUp) .Row

  ActiveSheet.Range ("IV1"). End (xlToLeft) .Column

  Pode ser abreviado como:

  ActiveSheet. [A65536] .End (xlUp) .Row

  ActiveSheet. [IV1] .End (xlToLeft) .Column

Desvantagens: Você pode calcular apenas o número de linhas (colunas) em que a última célula de uma coluna (linha) está localizada. Neste exemplo, apenas o número de linhas ocupadas pela última célula na coluna A é retornado.

 

Método 3:

  ActiveSheet.Cells.SpecialCells (xlCellTypeLastCell) .Row

  ActiveSheet.Cells.SpecialCells (xlCellTypeLastCell) .Column

  Desvantagens: Quando a planilha é excluída ou limpa, ela se torna maior que a situação real.

 

Método 4:

  ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell) .Row

  ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell) .Column

  Desvantagens: Quando a planilha é excluída ou limpa, ela se torna maior que a situação real.

 

Método 5:

  Application.CountA (ActiveSheet.Range ("A: A"))

  Application.CountA (ActiveSheet.Range ("1: 1"))

  Somente o uso real de uma coluna (linha) pode ser contado e a posição da última linha (coluna) não é necessariamente obtida. Se o valor do método 2 for maior que esse método, significa que há uma célula em branco não preenchida entre os dados na coluna A.

 

Método 6:

  ActiveSheet.Cells.Find (O que: = "*", Depois: = [A1], SearchOrder: = xlByRows, SearchDirection: = xlPrevious) .Row

  ActiveSheet.Cells.Find (O que: = "*", Depois: = [A1], SearchOrder: = xlByColumns, SearchDirection: = xlPrevious) .Column

  Mesmo efeito que o método 2

 

Entre os métodos acima, o método 1 e o método 2 são comumente usados.

 

 

 

Publicado 10 artigos originais · Gosto 11 · Visita mais de 20.000

Acho que você gosta

Origin blog.csdn.net/u013323018/article/details/83869552
Recomendado
Clasificación