Əlaqəli yazılar

Sonuncu sətrin nömrəsinin tapılması (VBA)

Exceldə VBA ilə ən çox verilən tapşırıqlardan biridə verilən siyahıda sonuncu sətrin nömrəsini tapmaqdır. Bu məlumat vasitəsi ilə siz dinamik PivotTable hesabatları, dinamik qrifklərdə və s. hesabatlar hazırlaya bilərsiniz.

Bu məqalədə sizə VBA vasitəsi ilə sonuncu sətrin nömrəsini tapılmasının 6 üsulunu göstərəcik.
Sonuncu sətr nömrəsini tapmamışdan əvvəl dəyişənlərimizi müəyyən edək

Dim sht as Worksheet
Dim son_str as Long
Set sht = ThisWorkbook.Worksheets(“kodlar”)

I. Ctrl + ↓ (yuxarıdan aşağı) üsulu

Adından da göründüyü kimi bu üsul Ctrl + ↓ qısa yolu ilə eyni funksiyanı yerinə yetirir. Nəzərə alsaq ki bizim siyahıda ilk məlumat A1 xansında yerləşir bu zaman bu üsul üçün VBA kodu aşağıdakı kimidir:

son_str = Range(“A1”).End(xlDown).Row

Bu üsulun geniş istifadə olunmasına baxmayaraq bəzi mənfi tərəfləridə var. Beləki bu üsulu istifadə etdikdə sizin siyahınızda boşluqlar olmamalıdır. Bu üsulun işləmə prinsipinə baxsaq, o ilk xanadan kəsilməz olaraq sonuncu xanaya doğru gedib və onun sətr nömrəsini nəticə olaraq geri qaytarır.

II. Ctrl + ↑ (aşağıdan yuxarı) üsulu

Bu üsulda əvvəl qeyd etdiyimiz üsul ilə eyni məntiqdə işləyir lakin bu səfər yuxarıdan aşağı yoxda aşağıdan yuxarı gedərək nəticəni qaytarır, hansı ki bunu manual olaraq Ctrl + ↑ üsulu ilə edə bilərik. Bu üsulu istifadə edərkən bizim siyahıdan aşağıda yerləşən maksimal sətr nömrəsini bilməliyik. Məsələn bizim siyahı maksimum 100 000 sətrdən çox olmadığını bildiyimizdə bu üsulu VBA vasitəsi ilə aşağıdakı kimi icra edə bilərik:

son_str = Range(“A100000”).End(xlUp).Row

Bu üsulun işləmə prinsipinə baxsaq, 100 000 ci xanadan kəsilməz olaraq yuxarı qalxaraq ilk dolu xananın sətr nömrəsini qaytarır.

III. UsedRange (istifadə olunmuş xanalar) üsulu

Excel VBA da UsedRange dolu olan xanaları tapmaq üçün istifadə olunan xassədir.
Bu xassə Ctrl + End və Ctrl + Home qısa yollarını əvəz edir. Aşağıdakı kod vasitəsi ilə bu üsulu istifadə edə bilərik:

son_str = sht.UsedRange.Rows.Count

Lakin bu üsul zamanıda 1ci üsulda kı kimi siyahımızda boşluq olduğu təqdirdə nəticə səhv ola bilər.

IV. CountA üsulu

Bildiyimiz kimi CountA funksiyası ilə dolu xanaların sayını tapa bilirik. Beləliklə bu funksiyanın vasitəsi ilə A sütununda dolu olan xana sayını taparaq sonuncu sətrin nömrəsini əldə edə bilərik.

son_str = Application.CountA(Range(“A:A”))

V. NamedRange üsulu

Əgər siz siyahınızda adlardan istifadə edirsinizsə bu zaman bu üsuldan istifadə edə bilərsiniz. Məsələn A1:A71 xanalarına “kodlar” adını versək, bu zaman bu adda olan bütün dolu xanaları sayaraq sonuncu sətir nömrəsini tapa bilərsiniz.

son_str = sht.Range(“kodlar”).Rows.Count

Bu üsul digərlərinə nisbətən optimal üsul deyil, beləki A72 xanasına məlumat daxil edilsə belə bu “kodlar” siyahısına avtomatik daxil edilmir bu səbəbdən nəticə dəyişmir.

VI. Cədvəl üsulu

Əgər siyahınızı əvvəlcədən cədvəl formatına çeviribsinizsə (Ctrl + T) bu zaman aşağıdakı kod vasitəsi ilə sonuncu sətrin nömrəsini tapa bilərsiniz:

son_str = sht.ListObjects(“Table1”).Range.Rows.Count

____________________________________________________________________________________________________________________________

Buradaykən, Sizdən kiçik bir xahişimiz var. Bildiyiniz kimi, biz – “INNAB” komandası olaraq ana dilində peşəkar inkişafı təmin etmək məqsədi ilə məzmun (kontent) yaratmaqla da məşğuluq. İşinə məsuliyyətlə və həvəslə yanaşan komandamız bu işi təmənnasız şəkildə yerinə yetirir. Komandamız məzmunlarımızın daha çox insanların izləməsini görüb daha da motivasiya olur. Bu işdə sizin də dəstəyinizə ehtiyacımız var. Bu postu paylaşmaqla, həmçinin hər baxıb bəyəndiyiniz videoları, məqalələri daha çox insana tövsiyyə etməklə, youtube kanalımıza, bloqumuza, facebook/linkedin/instagram səhifəmizə abunə olmaqla həm bizi motivə edə, həm də peşəkar inkişafınız üçün zəmin yarada bilərsiniz.