Vba'da bir string'i long'a dönüştürme (örneklerle)


Bir metin dizesini uzun bir veri türüne dönüştürmek için VBA’daki CLng işlevini kullanabilirsiniz.

Bu özelliği pratikte kullanmanın iki yaygın yolu şunlardır:

Yöntem 1: VBA’da String’i Long’a Dönüştürme

 Sub ConvertStringToLong ()

    Dim i As Integer

    For i = 2 To 11
        Range(" B " & i) = CLng(Range(" A " & i))
    Next i

End Sub

Bu özel makro, A2:A11 aralığındaki her dizeyi uzun bir veri türüne dönüştürecek ve B2:B11 aralığındaki uzun değerleri görüntüleyecektir.

Yöntem 2: VBA’da bir Dizeyi Uzun’a Dönüştürme (Yalnızca Dize bir Sayı ise)

 Sub ConvertStringToLong()

    Dim i As Integer

    For i = 2 To 11
        If IsNumeric(Range(" A " & i)) Then
            Range(" B " & i) = CLng(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 uzun bir veri türüne 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 bir Dizeyi Uzun’a Dönüştürme

Diyelim ki Excel’de şu anda metin dizeleri olarak biçimlendirilmiş aşağıdaki değerler sütununa sahibiz:

Her bir dizeyi uzun bir veri türüne dönüştürmek ve bunu B sütununda görüntülemek istediğimizi varsayalım.

Bunun için aşağıdaki makroyu oluşturabiliriz:

 Sub ConvertStringToLong ()

    Dim i As Integer

    For i = 2 To 11
        Range(" B " & i) = CLng(Range(" A " & i))
    Next i

End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

VBA dizeyi uzun süreye dönüştürür

A sütunundaki her metin dizesinin uzun bir veri türüne dönüştürüldüğünü ve B sütununda görüntülendiğini unutmayın.

Örnek 2: VBA’da bir dizeyi long’a dönüştürme (yalnızca dize bir sayıysa)

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 uzun bir veri türüne dönüştürmek ve bunları B sütununda görüntülemek istediğimizi varsayalım.

Bunun için aşağıdaki makroyu oluşturabiliriz:

 Sub ConvertStringToLong()

    Dim i As Integer

    For i = 2 To 11
        If IsNumeric(Range(" A " & i)) Then
            Range(" B " & i) = CLng(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 uzun veri türlerine dönüştürüldüğünü unutmayın.

Aksi takdirde, metin dizeleri boş bir değere dönüştürülür.

Not : VBA CLng 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ını sayma
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