O mare problema pe care am identificat-o lucrand in VBA este folosirea celulelor sau a zonelor de celule statice. De multe ori mi se intampla sa adaug coloane sau randuri intr-un fisier la putin timp dupa ce am terminat de scris codul VBA.
Inca nu am ajuns la realizarea de a scrie un cod VBA si sa nu mai fie necesara modificarea lui ulterioara. Insa am aflat ca o imbunatatire considerabila adusa codurilor VBA se poate realiza prin identificarea automata a ultimei celule folosite intr-o coloana.
Pentru a afla aceasta informatie, VBA pune la dispozitie mai multe functii insa cea mai simpla este cea in care imitam comportamentului scutaturii: END + una din sageti.
De exemplu, pentru a obtine ultima celula folosita din coloana C, putem folosi codul VBA de mai jos:
Sub FindingLastRow()
Dim sht As Worksheet
Dim LastRow As Long‘setam ca sht sa fie sheet-ul in care dorim sa aflam ultima celula dintr-o coloana
Set sht = ThisWorkbook.Worksheets(“Last Row”)LastRow = sht.Cells(sht.Rows.Count, “C”).End(xlUp).Row
‘afisam intr-un Message Box care este ultimul rand din coloana C
MsgBox “Ultimul rand folosit in coloana C este ” & LastRowEnd Sub
In alte cuvinte, codul de mai sus scaneaza coloana setata de noi (C) folosind functia END pana ajunge la prima celula non-blank. Numarul randului unde se gaseste aceasta celula este salvat in variabila LastRow si apoi folosim functia MsgBox pentru a afisa rezultatul.
Urmareste filmuletul de mai jos pentru a vedea in actiune acest cod VBA:
Comentarii si sugestii
Impartaseste experienta ta sau alte sfaturi utile legate folosirea VBA-ului.