
VBA CDBL fonksiyonunu kullanarak bir tam sayı değerinin double değere dönüştürülmesini gösteren bir örneğe bakalım.

Kod iki değişken bildirerek başlar. “intValue” değişkenine 10 değeri atanır. Daha sonra, VBA CDBL fonksiyonu tamsayı değerini bir double'a dönüştürür ve sonuç “dblValue” değişkeninde saklanır.
Dönüştürülen double değeri "10.0" olarak gösteren bir ileti kutusu görüntülenir.

Not: Yukarıdaki kod için mesaj kutusunun çıktısı “10.0” yerine “10” gösterecektir. Bunun nedeni, MsgBox kullanılarak bir double değer görüntülendiğinde, otomatik olarak son sıfırlar olmadan en özlü gösterimine biçimlendirilmesidir.
ÖNEMLİ NOKTALAR
- VBA CDBL fonksiyonu bir ifadeyi veya değeri double veri türüne dönüştürür.
- VBA CDBL fonksiyonunun kullanım örnekleri arasında dizeleri double'lara dönüştürme, tür uyuşmazlığı hatalarını işleme ve tam sayıları double'lara dönüştürme yer alır.
- VBA CDBL fonksiyonu hakkında hatırlanması gereken bazı önemli noktalar, tür uyuşmazlığı hataları olasılığı, hassasiyet üzerindeki sınırlamalar ve bölgesel ayarların etkisidir.
VBA Kodlamada Çift Veri Tipi Nasıl Kullanılır?
VBA kodlamasında double veri türünü kullanmak için şu adımları izleyin:
“DoubleDataTypeExample()” alt rutinini oluşturun ve “Dim” ifadesini kullanarak double türünde bir değişken bildirin. Örneğin:
Sub DoubleDataTypeExample()
Dim myNumber As Double
Değişkene bir değer atayın. Bunu eşittir işaretini (=) kullanarak yapabilirsiniz. Örneğin:
Mynumber=3,14
result = myNumber * 2


Örnekler
Burada, VBA CBDL'nin farklı senaryolarda nasıl kullanılacağını gösteren birkaç örnek bulunmaktadır.
Örnek 1
Bu örnekte, VBA CDBL Fonksiyonunu kullanarak bir dize değerini double değerine dönüştüren ve ortaya çıkan double değerini bir ileti kutusu kullanarak görüntüleyen bir VBA alt rutinine bakacağız.
- Adım 1:
- VBE’yi açın.
- Excel’de Alt + F11 tuşlarına basın.
- Şeritteki Geliştirici sekmesine tıklayın .
- Visual Basic butonuna tıklayın.

- Adım 2: VBE'de Ekle menüsüne tıklayın ve yeni bir modül oluşturmak için Modül'ü seçin.

- Adım 3: Yeni bir alt rutin başlatın. “ConvertStringToDouble()” adlı yeni bir alt rutin başlatın.

- Adım 4: Bu adımda iki değişken bildirilir: “strNumber” bir String türü ve “dblNumber” bir Double türü olarak. Bu değişkenler sırasıyla string ve dönüştürülmüş double değerlerini depolamak için kullanılacaktır.

- Adım 5: “strNumber” dize değişkenine “3.14” atanır. Bu değer, sayısal bir değerin dize gösterimidir.

- Adım 6: VBA CDBL fonksiyonu, “strNumber”da depolanan dize değerini bir double'a dönüştürür. VBA CDBL fonksiyonu, dizeyi girdi olarak alır ve eşdeğer double değerini döndürür, bu daha sonra “dblNumber” değişkenine atanır.

- Adım 7: MsgBox fonksiyonu, “dblNumber”da depolanan değeri içeren bir mesaj kutusu görüntüler. Bu durumda, 3.14'ün dönüştürülmüş double değerini görüntüler.

- Adım 8: Şimdi modülü kaydedin ve VBE’yi kapatın. Makro penceresini açmak için Alt + F8 tuşlarına basın, “ConvertStringToDouble”ı seçin ve çalıştırın.

- Adım 9: Bu kodu çalıştırdığınızda, bir ileti kutusu 3.14 değerini double veri türü olarak görüntüler.

İşte tam kod:
Sub ConvertStringToDouble()
‘ Declare variables
Dim strNumber As String
Dim dblNumber As Double
‘ Assign a value to the string variable
strNumber = “3.14”
‘ Convert the string to a double using CDbl function
dblNumber = CDbl(strNumber)
‘ Display the double value using MsgBox
MsgBox dblNumber
End Sub
Örnek 2
Bu örnekte, VBA CDBL fonksiyonunu kullanarak bir değişken değerini double değerine dönüştürmeye çalışırken tür uyuşmazlığı hatasını işleyen bir VBA alt rutinine bakacağız.
- Adım 1: Yeni modülde “HandleTypeMismatchError()” adında yeni bir alt rutin başlatın.

- Adım 2: İki değişken bildirilir: Variant türü olarak “ value” ve Double türü olarak “ dblNumber ”. “ value” değişkeni, tür uyumsuzluğu hatasına neden olabilecek bir değeri depolayacak ve dönüştürülmüş double değerini depolayacaktır .

- Adım 3: Şimdi, değişken değişkenine bir değer atayın. Değişken değişkeni " value "ye "Hello" değeri atanır. Bu, olası bir tür uyumsuzluğu hatasını göstermek için kasıtlı olarak seçilmiş, sayısal olmayan bir dizedir.

- Adım 4: VBA CDBL fonksiyonunu kullanarak varyantı bir double'a dönüştürmeye çalışıyoruz. “On Error Resume Next” ifadesi, dönüştürme sırasında olası hataları ele alır. Programın hata satırında durmadan yürütmeye devam etmesini sağlar.

VBA CDBL işlevi, “ value ” değişkeninde depolanan değeri bir double'a dönüştürür. “Hello” bir double'a dönüştürülemediğinden, bir tür uyumsuzluk hatasıyla sonuçlanacaktır.
Ancak “On Error Resume Next” ifadesi sayesinde hata yok sayılıyor ve program çalışmaya devam ediyor.
- Adım 5: Tür uyuşmazlığı hatasını kontrol edin:

- Dönüştürme işlemi gerçekleştirildikten sonra kod, “Err.Number” özelliğini inceleyerek tür uyuşmazlığı hatası olup olmadığını kontrol eder.
- “Err.Number” sıfırdan farklıysa dönüştürme sırasında bir hata oluşur.
- Bu durumda, kullanıcıya hata hakkında bilgi vermek için “Tür uyuşmazlığı hatası!” metninin yer aldığı bir mesaj kutusu görüntülenir.
- “Err.Clear” ifadesi hata nesnesini temizlemek için kullanılır ve “On Error GoTo 0” ifadesi hata işleme davranışını varsayılan moda sıfırlar.
- Adım 6: Şimdi modülü kaydedin ve VBE'yi kapatın. Makro penceresini açmak için Alt + F8 tuşlarına basın, “HandleTypeMismatchError” öğesini seçin ve çalıştırın.

- Adım 7: Bu kodu çalıştırdığınızda, “Hello” dizesini double'a dönüştürmeye çalışırken VBA'da bir Type Mismatch Error tetiklenir. Bir ileti kutusu “Type mismatch error!” iletisini görüntüler.

KODUN TAMAMI
Sub HandleTypeMismatchError()
‘ Declare variables
Dim value As Variant
Dim dblNumber As Double
‘ Assign a value to the variant variable
value = “Hello”
‘ Attempt to convert the variant to a double using CDbl function
On Error Resume Next
dblNumber = CDbl(value)
‘ Check for a type mismatch error
If Err.Number <> 0 Then
MsgBox “Type mismatch error!”
Err.Clear
On Error GoTo 0
End If
End Sub
Örnek 3
Bu örnekte, VBA CDBL fonksiyonunu kullanarak bir tamsayı değerini double değerine dönüştüren ve ortaya çıkan double değerini bir ileti kutusu kullanarak görüntüleyen bir VBA alt rutinine bakacağız.
- Adım 1 : Yeni bir alt rutin başlatın:
“ConvertIntegerToDouble()” adında yeni bir alt rutin başlatın.

- Adım 2: İki değişken bildirilir: “intValue” bir Integer türü ve “dblValue” bir Double türü olarak. “intValue” değişkeni bir tamsayı değeri depolayacak ve “dblValue” dönüştürülmüş double değerini depolayacaktır.

- Adım 3: Tam sayı değişkeni “intValue”ye 10 değeri atanır. Bu, herhangi bir hassasiyet kaybı olmadan kolayca double'a dönüştürülebilen sayısal bir değerdir.

- Adım 4: VBA CDBL fonksiyonu, “intValue” değişkeninde depolanan değeri bir double'a dönüştürür. VBA CDBL fonksiyonu, tam sayı değerini girdi olarak alır ve eşdeğer double değerini döndürür, bu daha sonra “dblValue” değişkenine atanır.

- Adım 5: “MsgBox” fonksiyonu, “dblValue” içinde saklanan değeri içeren bir mesaj kutusu görüntülemek için kullanılır. Bu durumda, 10.0'ın dönüştürülmüş double değerini görüntüler.

- Adım 6: Şimdi modülü kaydedin ve VBE’yi kapatın. Şimdi Makro penceresini açmak için Alt + F8’e basın, “ConvertIntegerToDouble”ı seçin ve Çalıştırın.

- Adım 7: Bu kodu çalıştırdığınızda, 10.0 değerini double veri türü olarak gösteren bir mesaj kutusu görünecektir.

KODUN TAMAMI
Sub ConvertIntegerToDouble()
‘ Declare variables
Dim intValue As Integer
Dim dblValue As Double
‘ Assign a value to the integer variable
intValue = 10
‘ Convert the integer to a double using CDbl function
dblValue = CDbl(intValue)
‘ Display the double value using MsgBox
MsgBox dblValue ‘ Displays 10.0 as a double
End Sub
Dikkat Edilmesi Gereken Önemli Noktalar
- Hatalardan kaçınmak için VBA CDBL fonksiyonuna girilen değerin double'a dönüştürülmeye uygun olduğundan emin olmak çok önemlidir.
- Giriş ifadesi bir double'a dönüştürülemiyorsa VBA CDBL İşlevi bir tür uyumsuzluk hatasıyla karşılaşabilir. Bu tür hataların uygun hata işleme tekniklerini kullanarak işlenmesi esastır.
- Çift değerlerin kesinliği sınırlıdır ve yalnızca bazı ondalık değerler için kesin olabilir. Kesin ondalık doğruluğu gerektiğinde Decimal veri türünün kullanılması önerilir.
- CDBL İşlevi Excel'de belirtilen varsayılan sayı biçimini izler. Bölgesel ayarların doğru şekilde yapılandırıldığından emin olmak, beklenmeyen dönüşümleri önlemek için önemlidir.
- VBA CDBL işlevinde sorun giderme, giriş verilerinin doğrulanmasını, hata işlemenin gözden geçirilmesini, bölgesel ayarların kontrol edilmesini ve sorunları belirleyip çözmek için farklı verilerle test yapılmasını içerir.