VBA Buscar a última fila en Excel (5 xeitos)

  • Comparte Isto
Hugh West

No VBA podes usar diferentes métodos para atopar a última fila. Neste artigo, vou explicar diferentes métodos de atopar a última fila de VBA en Excel.

Para facer visible esta explicación, vou usar un conxunto de datos de mostra. Hai 4 columnas no conxunto de datos que representan a información de vendas. Estas columnas son Persoa de vendas, rexión, produto, e Prezo .

Descargar para practicar

VBA Find Last Row.xlsm

Formas de VBA atopar a última fila en Excel

1. Usando SpecialCells para atopar a última fila

Podes usar o método SpecialCells para atopar a última fila usando VBA .

Primeiro, abra o Desenvolvedor pestana >> a continuación, seleccione Visual Basic

Abrirase unha nova xanela de Microsoft Visual Basic para aplicacións .

Agora, desde Inserir >> seleccione Módulo

Abrirase un Módulo .

A continuación, escriba o seguinte código no Módulo .

9365

Aquí creei un subprocedemento chamado LastRow_SpecialCells , onde un tipo Long da variable LastRow foi declarada.

A continuación, definiuse a variable mediante o método Range.SpecialCells . Aquí, usei a columna A ( A:A ) como intervalo. Se se proporciona xlCellTypeLastCell como parámetro de tipo de SpecialCells , isto devolverá a última cela do intervalo (neste caso, da columna A ).

Utilicei unha caixa de mensaxes para mostrar o resultado.

Despois diso, Garda o código e volve ao folla de traballo.

De novo, abra a pestana Ver >> de Macros >> seleccione Ver macros

A continuación, aparecerá un cadro de diálogo .

Agora, no Nome da macro seleccione a LastRow_SpecialCells tamén seleccione o libro de traballo dentro de Macros en .

Finalmente, Executa a Macro seleccionada.

Así, aparecerá unha caixa de mensaxe que mostra o último número de fila.

2. Usando Rows.Count para celas non baleiras

Podes usar o método Rows.Count para atopar a última fila usando VBA .

Agora, abra a pestana Desenvolvedor >> a continuación, seleccione Visual Basic

Abrirase unha nova xanela de Microsoft Visual Basic para aplicacións .

Agora, desde Inserir >> seleccione Módulo

Abrirase un Módulo .

A continuación, escriba o seguinte código no Módulo .

5940

Aquí creei un subprocedemento chamado LastRow_NonEmpty, onde un tipo Long de variable LastRow foi declarado.

Agora, CELLS(Rows.Count, 1) contará cantas filas hai na primeira columna. Despois usei End(xlUp).Row agora atopará a última fila utilizada nun rango de Excel.

Ao final, usei unha caixa de mensaxes para mostrar oresultado.

Entón, Garda o código e volve á folla de traballo.

Aquí, abra a pestana Ver >> de Macros >> seleccione Ver macros

Agora, aparecerá un cadro de diálogo .

Entón, desde Nome da macro seleccione o LastRow_NonEmpty seleccione tamén o libro de traballo dentro de Macros en .

Por último, Execute a Macro seleccionada.

Así, aparecerá unha caixa de mensaxe que mostra o último número de fila.

3. Usando filas. Conta para calquera columna seleccionada

Ao usar calquera columna seleccionada en VBA, podes atopar a última fila.

Primeiro. , abra a pestana Desenvolvedor >> a continuación, seleccione Visual Basic

Abrirase unha nova xanela de Microsoft Visual Basic para aplicacións .

Agora, desde Inserir >> seleccione Módulo

Abrirase un Módulo .

A continuación, escriba o seguinte código no Módulo .

8890

Aquí creei un subprocedemento chamado LastRow_AnyColumn, onde un tipo Long de variable LastRow foi declarado.

Entón, no Intervalo dada a columna B como parámetro e tamén Rows.Count , este contará cantas filas hai nunha determinada columna B . A continuación, úsase End(xlup). Fila que atopará a última fila utilizada nun intervalo de Excel.

Por último, usei unha caixa de mensaxe para mostrar oresultado.

A continuación, Garde o código e volve á folla de traballo.

A continuación, abra a pestana Ver >> de Macros >> seleccione Ver macros

Aquí, aparecerá un cadro de diálogo .

Agora, no Nome da macro seleccione a LastRow_AnyColumn tamén seleccione o libro de traballo dentro de Macros en .

Finalmente, Execute a Macro seleccionada.

Así, aparecerá unha caixa de mensaxe que mostra o último número de fila.

Lecturas similares:

  • VBA Buscar en columna en Excel (7 enfoques)
  • Buscar e substituír usando VBA (11 Formas)
  • Atopa coincidencia exacta usando VBA en Excel (5 xeitos)
  • Como atopar cadea con VBA en Excel (8 exemplos)

4. Usando UsedRange para atopar a última fila

Pode usar a propiedade UsedRange da folla de traballo para atopar a última fila. fila usando VBA .

Agora, abra a pestana Desenvolvedor >> a continuación, seleccione Visual Basic

A continuación, aparecerá unha nova xanela de Microsoft Visual Basic para aplicacións .

Agora, desde Inserir >> seleccione Módulo

Abrirase un Módulo .

A continuación, escriba o seguinte código no campo Módulo .

4539

Aquí creei un subprocedemento chamado LastRow_UsedRange, onde un tipo Long de variable Declarouse LastRow .

A continuación, definiuse outilizando o método ActiveSheet.UsedRange.Rows tamén proporcionou ActiveSheet.UsedRange.Rows.Count como parámetro de ActiveSheet.UsedRange.Rows , isto devolverá o última fila.

Utilicei unha caixa de mensaxes para mostrar o resultado.

Agora, Garda o código e volve á folla de traballo.

Entón, abra a pestana Ver >> de Macros >> seleccione Ver macros

A continuación, aparecerá un cadro de diálogo .

A continuación, desde a Macro nome seleccione o LastRow_UsedRange seleccione tamén o libro de traballo dentro de Macros en .

Finalmente, Executar a Macro<5 seleccionada>.

Así, aparecerá unha caixa de mensaxe que mostra o último número de fila.

5. Usando Range.Find to Find Last Fila

Podes usar o método Range.Find para atopar a última fila usando VBA .

Agora, abra o Desenvolvedor pestana >> a continuación, seleccione Visual Basic

Aquí, aparecerá unha nova xanela de Microsoft Visual Basic para aplicacións .

Agora, desde Inserir >> seleccione Módulo

Abrirase un Módulo .

A continuación, escriba o seguinte código no Módulo .

2610

Aquí creei un subprocedemento chamado Range_Find_Method, onde se declarou un tipo de variable Long LastRow .

Despois definiuse a variable mediante o método Cells.Find . Aquí, declarado 7parámetros. En Que parámetro usei ("*") que atopará a primeira cela non baleira. Dado A1 como intervalo no parámetro Despois de para comezar. No parámetro LookAt proporcionado xlPart para ver calquera parte do texto dentro da cela.

O parámetro LookIn:=xlFormulas buscará fórmulas se as hai. O parámetro SearchOrder:=xlByRows moverase de dereita a esquerda e tamén pasará por cada fila ata que atope unha cela non baleira.

MatchCase:=False o parámetro indicará a Buscar que non considere as letras maiúsculas ou minúsculas. Cando se atopa un non en branco, detense e devolve o número de fila.

Utilicei unha caixa de mensaxes para mostrar o resultado.

Agora, Garda o código e volve á folla de traballo.

Aquí, abra a pestana Ver >> de Macros >> seleccione Ver macros

Agora, aparecerá un cadro de diálogo .

Agora, no Nome da macro seleccione o Range_Find_Method tamén seleccione a folla de traballo dentro de Macros en .

Finalmente, Execute a Macro seleccionada.

Así, aparecerá unha caixa de mensaxe que mostra o último número de fila.

Conclusión

Neste artigo, expliquei 5 formas de VBA atopar a última fila en Excel. Podes seguir calquera dos métodos para atopar a última fila. No caso de que teña algunha confusión ou dúbida sobre estes métodos, podecomenta abaixo.

Hugh West é un adestrador e analista de Excel altamente experimentado con máis de 10 anos de experiencia na industria. É Licenciado en Contabilidade e Finanzas e Máster en Administración de Empresas. Hugh ten unha paixón polo ensino e desenvolveu un enfoque docente único que é fácil de seguir e comprender. O seu coñecemento experto de Excel axudou a miles de estudantes e profesionais de todo o mundo a mellorar as súas habilidades e a destacar nas súas carreiras. A través do seu blog, Hugh comparte os seus coñecementos co mundo, ofrecendo titoriais de Excel gratuítos e formación en liña para axudar ás persoas e ás empresas a alcanzar todo o seu potencial.