Hivatkozott Excel verzio: Excel 2007 Excel 2010 Excel 2013
Előfordulhat, hogy egy makró projekt kapcsán szembejön az a probléma, hogy nem tudjuk előre azt, hogy hol is kezdődik a feldolgozandó tartomány, vagy az éppen mindig változó. Emiatt jól jöhet ez az egy soros snippet a probléma megoldására.
[vb]Range("A1").Select
Cells.Find(What:="*").Activate
[/vb]Az első sor az aktuális munkalap első celláját aktiválja, hogy onnan kezdődjön a keresés. A második pedig megkeresi az első kitöltött cellát, amiben bármilyen érték lehet, szám, vagy szöveg, akár képlet.
Munkalap ürességének ellenőrzése
Készítünk egy függvényt, ami paraméterként a vizsgálandó munkalapot kapja meg, vissza pedig egy logikai értéket ad.
Ha egy munkalap üres, akkor a használt tartomány címe az ‘A1’ lesz. És ha az üres, akkor a munkalapot üresnek tekinthetjük.
[vb]Function is_empty_sheet(sname As Worksheet) As Boolean
is_empty_sheet = sname.UsedRange.Address = "$A$1" And IsEmpty(sname.Range("A1"))
End Function
[/vb]A javított kód
[vb] Function is_empty_sheet(sname As Worksheet) As Booleanis_empty_sheet = sname.UsedRange.Address = "$A$1" And IsEmpty(sname.Range("A1"))
End Function
Sub find_first_filled()
If Not is_empty_sheet(ActiveSheet) Then
Range("A1").Select
Cells.Find(What:="*").Activate
End If
End Sub
[/vb]Így az első kitöltött cella keresése csak akkor fut le, ha az aktuális munkalap nem üres.
Mindez működés közben
Hol az első kitöltött cella?
Vélemény, hozzászólás?
Hozzászólás küldéséhez be kell jelentkezni.