Esse código é para iniciantes faixas brancas: Como identificar a última célula e portanto a última linha da planilha.
Planilhas constantemente manipuláveis, cujos os dados não são conexões em bases de dados, mas dados colados através de CTRL + V, tendem a deixar dirty areas. Estas acabam por dificultar a detecção da última célula. O exemplo abaixo é uma técnica para teste naquelas bases de dados enormes, com grandes quantidades de dados, acima de 100.000 linhas, as quais devem dar constantes dores de cabeça àqueles que ainda não dominam as técnicas de conexão do MS Excel com o MS Access.
- CÓDIGO:
Function LCell(ws As Worksheet) As Range
Dim LRow&, LCol%
On Error Resume Next
With ws
Let LRow& = .Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row
Let LCol% = .Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByColumns).Column
End With
Set LCell = ws.Cells(LRow&, LCol%)
End Function
Usando esta função:
A função LCell demonstrada aqui não pode ser usada diretamente na planilha, mas pode ser evocada a partir de outra SUB VBA, implemente o código conforme demonstrado abaixo:
- CÓDIGO:
Sub Identifica()
MsgBox LCell(Sheet1).Row
End Sub
Ahhh, e sempre se pode melhorar:
Function LRow (Rg as Range) As LongDim ix As Long
Let ix = rg.parent.UsedRange.Row - 1 + rg.parent.UsedRange.Rows.CountLet LRow = ixEnd Function
Reference:
Bob Umlas
Inspiration:
André Luiz Bernardes
Tags: VBA, Tips, dummy, dummies, row, last, cell, célula, dirty area, detect, detectar