Vba'da bir dizeyi tam sayıya dönüştürme (örneklerle)
Bir metin dizesini bir tamsayıya dönüştürmek için VBA’daki CInt işlevini kullanabilirsiniz.
Bu özelliği pratikte kullanmanın iki yaygın yolu şunlardır:
Yöntem 1: VBA’da Dizeyi Tam Sayıya Dönüştürme
Sub ConvertStringToInteger() Dim i As Integer For i = 2 To 11 Range(" B " & i) = CInt(Range(" A " & i)) Next i End Sub
Bu özel makro, A2:A11 aralığındaki her dizeyi bir tam sayıya dönüştürecek ve B2:B11 aralığındaki tam sayıları görüntüleyecektir.
Yöntem 2: VBA’da Dizeyi Tam Sayıya Dönüştürme (Yalnızca Dize bir Sayı ise)
Sub ConvertStringToInteger()
Dim i As Integer
For i = 2 To 11
If IsNumeric(Range(" A " & i)) Then
Range(" B " & i) = CInt(Range(" A " & i))
Else
Range(" B " & i) = 0
End If
Next i
End Sub
Bu özel makro , A2:A11 aralığındaki her dizeyi yalnızca dize bir sayıysa bir tam sayıya dönüştürür. Aksi takdirde dize boş bir değere dönüştürülür.
Aşağıdaki örnekler her yöntemin pratikte nasıl kullanılacağını göstermektedir.
Örnek 1: VBA’da Dizeyi Tam Sayıya Dönüştürme
Diyelim ki Excel’de şu anda metin dizeleri olarak biçimlendirilmiş aşağıdaki değerler sütununa sahibiz:
Her dizeyi bir tam sayıya dönüştürmek ve tam sayıları B sütununda görüntülemek istediğimizi varsayalım.
Bunun için aşağıdaki makroyu oluşturabiliriz:
Sub ConvertStringToInteger() Dim i As Integer For i = 2 To 11 Range(" B " & i) = CInt(Range(" A " & i)) Next i End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
A sütunundaki her metin dizesinin bir tam sayıya dönüştürüldüğünü ve B sütununda görüntülendiğini unutmayın.
Örnek 2: VBA’da bir Dizeyi Tamsayıya Dönüştürme (Yalnızca Dize bir Sayı ise)
Diyelim ki Excel’de şu anda metin dizeleri olarak biçimlendirilmiş aşağıdaki değerler sütununa sahibiz:
Her bir dizeyi yalnızca dize bir sayıysa bir tam sayıya dönüştürmek ve tam sayıları B sütununda görüntülemek istediğimizi varsayalım.
Bunun için aşağıdaki makroyu oluşturabiliriz:
Sub ConvertStringToInteger()
Dim i As Integer
For i = 2 To 11
If IsNumeric(Range(" A " & i)) Then
Range(" B " & i) = CInt(Range(" A " & i))
Else
Range(" B " & i) = 0
End If
Next i
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
Yalnızca A sütunundaki sayı olan metin dizelerinin B sütunundaki tam sayılara dönüştürüldüğünü unutmayın.
Aksi takdirde metin dizeleri boş bir değere dönüştürülür.
Not : VBA Cint işlevine ilişkin tüm belgeleri 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: Bir dizedeki boşluklar nasıl kaldırılır
VBA: Bir dizedeki karakterlerin oluşumları nasıl sayılır?
VBA: bir dizenin başka bir dize içerip içermediği nasıl kontrol edilir