Vba'da isna nasıl kullanılır (örneklerle)
Belirli bir hücrenin #N/A içerip içermediğini kontrol etmek için VBA’daki IsNA yöntemini kullanabilirsiniz.
Bu işlev, hücre #N/A içeriyorsa TRUE değerini , aksi takdirde FALSE değerini döndürür.
Bu yöntemi pratikte kullanmanın yaygın bir yolu:
Sub UseIsNA()
Dim i As Integer
For i = 2 To 10
Range("B" & i) = WorksheetFunction.IsNA(Range("A" & i))
Next i
End Sub
Bu özel makro , A2:A10 aralığındaki her hücrenin #YOK içerip içermediğini kontrol edecektir.
Bir hücre #N/A içeriyorsa, B2:B10 aralığında karşılık gelen hücrede TRUE döndürülür.
Aksi halde YANLIŞ değeri döndürülür.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: VBA’da IsNA nasıl kullanılır?
Excel’de aşağıdaki değer sütununa sahip olduğumuzu varsayalım:
A sütunundaki her hücrenin #N/A içerip içermediğini kontrol etmek istediğimizi varsayalım.
Bunun için aşağıdaki makroyu oluşturabiliriz:
Sub UseIsNA()
Dim i As Integer
For i = 2 To 10
Range("B" & i) = WorksheetFunction.IsNA(Range("A" & i))
Next i
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
B sütunu, A sütunundaki eşleşen her hücrenin #N/A değerine eşit olup olmadığını bize bildiren bir sonucu görüntüler.
Boş hücrelerin #N/A ile aynı olmadığını unutmayın. Boş bir hücreyle karşılaşıldığında IsNA yöntemi FALSE değerini döndürür.
Ayrıca TRUE ve FALSE dışındaki değerleri döndürmek için If ifadesini kullanabileceğinizi de unutmayın.
Örneğin aşağıdaki makroyu oluşturabiliriz:
Sub UseIsNA()
Dim i As Integer
For i = 2 To 10
If WorksheetFunction.IsNA(Range("A" & i)) Then
Range("B" & i) = "Cell Contains #N/A"
Else
Range("B" & i) = "Cell Does Not Contain #N/A"
End If
Next i
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
B sütunu artık A sütunundaki karşılık gelen hücrenin #N/A içerip içermediğini bize bildiren belirli bir metin içeriyor.
Not : VBA IsNA yönteminin tam belgelerini burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA’da string’i int’ye dönüştürme
VBA’da bir dize ikiye nasıl dönüştürülür
VBA’da bir dizenin başka bir dize içerip içermediği nasıl kontrol edilir