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

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir