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:
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