Vba'da userange özelliği nasıl kullanılır?
VBA’da, UseRange özelliği, veri içeren bir çalışma sayfasının aralığını temsil eder. Kullanılan aralık, çalışma sayfasında bir değere sahip olduğunuz ilk hücreden, bir değere sahip olduğunuz son hücreye kadar başlar. Tıpkı A1 ile C11 arasındaki aralığı kullandığınız aşağıdaki örnek gibi.
Not: UseRange özelliği salt okunur bir özelliktir .
UseRange ile kod yazın
Aşağıdaki kodu kullanın.
- Öncelikle elektronik tabloyu belirtmeniz gerekir.
- Daha sonra bir nokta (.) girin ve “UsedRange” girin.
- Bundan sonra kullanmak istediğiniz özelliği veya yöntemi kullanın.
- Sonunda kodu çalıştırın.
Sub vba_used_range() ActiveSheet.UsedRange.Clear End Sub
Yukarıdaki kod, aktif sayfanın kullanılan aralığındaki her şeyi temizler.
Kullanılan aralığı kopyala
KullanılmışRange’ın tamamını kopyalamak için aşağıdaki kodu kullanın.
Sub vba_used_range() ActiveSheet.UsedRange.Copy End Sub
Kullanılan aralıktaki satırları ve sütunları sayın
Kullanılan aralığın satır ve sütunlarını saymak için kullanabileceğiniz bir count özelliği vardır.
MsgBox ActiveSheet.UsedRange.Rows.Count MsgBox ActiveSheet.UsedRange.Columns.Count
Yukarıdaki iki kod satırı, kullanılan aralıktaki satır ve sütun sayısını içeren bir mesaj kutusu görüntüler.
Kullanılan aralıktaki son hücreyi etkinleştir
Ayrıca kullanılan aralıktaki son hücreyi de etkinleştirebilirsiniz (bu, çalışma sayfasında kullanılan son hücre olacaktır). Aşağıdaki kodu göz önünde bulundurun.
Sub vba_used_range() Dim iCol As Long Dim iRow As Long iRow = ActiveSheet.UsedRange.Rows.Count iCol = ActiveSheet.UsedRange.Columns.Count ActiveSheet.UsedRange.Select Selection.Cells(iRow, iCol).Select End Sub
Bu kod, UseRange özelliğini kullanarak satır ve sütun sayısını alır ve ardından bu sayıları, kullanılan aralıktaki son hücreyi seçmek için kullanır.
Başka bir çalışma sayfasındaki KullanılmışRange’a bakın
Etkin sayfa dışında bir çalışma sayfasında kullanılan aralığa başvurmaya çalışırsanız VBA, buna benzer bir hata gösterecektir.
Bu nedenle, bahsettiğiniz çalışma sayfasının etkinleştirilmesi gerekir (yalnızca o zaman UseRange özelliğini kullanabilirsiniz).
Sub vba_used_range() Worksheets("Sheet4").Activate Worksheets("Sheet4").UsedRange.Select End Sub
Bu, kapalı bir çalışma kitabında kullanılan aralığa başvuramayacağınız anlamına gelir. Ancak önce bir çalışma kitabını açabilir ve ardından çalışma sayfasının UseRange özelliğini kullanmasını sağlayabilirsiniz.
Kullanılan aralığın adresini alın
Kullanılan aralığın adresini almak için aşağıdaki kod satırını kullanın.
Sub vba_used_range() MsgBox ActiveSheet.UsedRange.Address End Sub
Kullanılan aralıktaki boş hücreleri say
Aşağıdaki kod, FOR (Her Biri İçin) döngülerini kullanır ve kullanılan aralıktaki tüm hücreler arasında döngü yapar ve boş hücreleri sayar.
Sub vba_used_range() Dim iCell As Range Dim iRange As Range Dim c As Long Dim i As Long Set iRange = ActiveSheet.UsedRange For Each iCell In ActiveSheet.UsedRange c = c + 1 If IsEmpty(iCell) = True Then i = i + 1 End If Next iCell MsgBox "There are total " & c & _ " cell(s) in the range, and out of those " & _ i & " cell(s) are empty." End Sub
Bu kodu çalıştırdığınızda, toplam hücre sayısını ve boş hücre sayısını içeren bir mesaj kutusu görüntülenir.