Özel hücre yöntemi nasıl kullanılır?
VBA’da özel hücreler yöntemi, belirli bir türdeki ve belirli bir değer türündeki bir hücreyi veya hücre aralığını seçmenize olanak tanır. Diyelim ki A1:A10 aralığında hangi hücrelerin formüle sahip olduğunu ve değer olarak numaralandırıldığını bilmek istiyorsunuz? Peki bu sonuca SpecialCells yöntemiyle ulaşabilirsiniz.
VBA’da özel hücreler yöntemini kullanın

Burada A1:A10 aralığında en son kullanılan hücrenin adresini bulmak için kod yazıyoruz. Özel hücre yönteminde biri gerekli, diğeri isteğe bağlı olmak üzere iki bağımsız değişken bulunduğunu unutmayın.
- İlk olarak, kodun döndürdüğü bu hücre adresini saklamak için bir değişkeni aralık olarak bildirin.
- Bundan sonra aralığa bakın ve “Type” argümanını “xlCellTypeLastCell” ile belirtmeniz gereken “SpecialCells” yöntemini kullanın.
- Daha sonra bu özel hücre kodu satırını ilk adımda tanımladığınız değişkene ayarlayın.
- Buradan, özel hücre yöntemiyle hücre dönüşlerinin adresini almak için bir VBA mesaj kutusu kullanmanız gerekir.
- Sonunda, son tür hücrenin adresini almak için değişkenle birlikte adres özelliğini kullanın.
İşte kodun tamamı.
Dim myRng As Range Set myRng = Range("A1:A10").SpecialCells(xlCellTypeLastCell) MsgBox myRng.Address
Şimdi bu kodu çalıştırdığınızda, size en son kullanılan (yazılan) hücrenin adresini içeren bir mesaj kutusu gösterecektir. Yani burada benim durumumda A10 hücresini kullandım ve mesaj kutusunda aldığımın aynısını kullandım.
Notların bulunduğu hücreleri seç
Excel’de eski “Yorumlar” artık “Notlar”dır. Yorum seçmek için kod yazdığınızda belirtilen aralıktaki notlarınızı seçecektir. Aşağıdaki kodu göz önünde bulundurun.

Dim myRng As Range Set myRng = _ Range("A1:A10").SpecialCells(xlCellTypeComments) myRng.Select
Her iki argümanı da kullanın
Daha önce de söylediğim gibi SpecialCells yöntemi için iki argümanınız var. Şimdi, formülü olan hücreleri seçmek için iki bağımsız değişkeni nasıl kullanabileceğinizi ve formülün döndürdüğü değerin mantıksal bir değer olduğunu görelim.
Dim myRng As Range Set myRng = Range("A1:A11").SpecialCells(xlCellTypeFormulas, xlLogical) myRng.Select
Şimdi yukarıdaki kodu çalıştırdığımda formüllerin ve mantıksal değerin bulunduğu A1 ila A11 aralığındaki hücreleri seçiyor.

Koşullu biçimlendirmeye sahip hücreleri seçin
Range("A1:A11").SpecialCells(xlCellTypeSameFormatConditions) Range("A1:A11").SpecialCells(xlCellTypeAllFormatConditions)
Görünür hücreleri seç
Ayrıca “xlCellTypeVisible” sabitini kullanarak görünür olanı da seçebilirsiniz. Aşağıdaki kodu göz önünde bulundurun.
Dim myRng As Range Set myRng = Range("A1:A11").SpecialCells(xlCellTypeVisible) myRng.Select

Veya bağımsız değişken değeri olarak “12”yi de kullanabilirsiniz.
Dim myRng As Range Set myRng = Range("A1:A11").SpecialCells(12) myRng.Select
Veri doğrulaması olan hücreler
Range("A1:A11").SpecialCells(xlCellTypeAllValidation) Range("A1:A11").SpecialCells(xlCellTypeSameValidation)