EXCEL VBA'DA DOUBLE DATA TYPE [ÇİFT VERİ TİPİ]

 

Excel VBA'da (Visual Basic for Applications), Double veri türü, çift hassasiyetli kayan nokta sayılarını depolamak için kullanılan bir değişken türüdür. Hem tam sayı hem de kesirli olmak üzere çok çeşitli sayısal değerleri yüksek derecede ondalık hassasiyetle temsil edebilir. Double, özellikle hassas sayısal hesaplamalar gerektiğinde kullanışlıdır ve genellikle bilimsel, finansal ve mühendislik uygulamaları için kullanılır. VBA'daki Double veri türü 8 bayt bellek kaplar.


VBA Double Veri Türü - Tanım Örneği - 1

Burada, bir Double değişkenini görüntülemek ve yazdırmak için bir alt rutin oluşturulur. Ondalık kesinlik sağlar ve diğer veri türlerinin aksine yuvarlamadan aynı değeri yazdırır. Aynı sayının "Immediate" sekmesinde yazdırıldığını görebilirsiniz.

VBA Double Veri Türü - Tanım Örneği - 2

ÖNEMLİ NOKTALAR

  • Excel VBA'daki Double veri türü, çift hassasiyetli kayan nokta sayılarını işlemek için kullanılır. Ondalık hassasiyetle geniş bir sayısal değer aralığına izin verir.
  • Kullanmadan önce Dim ifadesini kullanarak Double değişkenlerini açıkça tanımlayın.
  • VBA'da çeşitli matematiksel hesaplamalar için Double değişkenlerini tanımlayabilir ve işleyebilirsiniz; bu, Single veri türüne kıyasla daha yüksek hassasiyet gerektiren senaryolar için uygundur.
  • sinExcel VBA , cosexp, ve gibi Double değerleriyle çalışan yerleşik matematiksel işlevler sağlar log.
  • Belirtilen bir veri türü olmadan ondalık sayı kullanılırsa, VBA bunu varsayılan olarak Double olarak yorumlar.

Excel VBA Çift Veri Türü Nasıl Kullanılır?

VBA Double to String dönüşümünün nasıl çalıştığını aşağıda görebilirsiniz.

  1. Excel Çalışma Kitabını açın ve ardından Geliştirici sekmesine gidin.


    Excel VBA Double Data Type nasıl kullanılır - Adım 1a

    Geliştirici'de, Excel VBA'da kod yazmak için "Visual Basic"i seçin.



    Excel VBA Editörü açılır. Ancak başlangıçta boş olacaktır. Kod yazabilmek için “Ekle”yi seçin. Açılır menüden “Modül”ü seçin.
     


    Artık Excel VBA'da kod yazabilirsiniz.

  2. VBA Double'dan String'e dönüşümünü gerçekleştirecek alt rutini adlandırın.


    Excel VBA Double Data Type nasıl kullanılır - Adım 2

  3. Bir VBA Double Değişkeni başlatın ve ona bir double değer verin.


    Excel VBA Double Data Type nasıl kullanılır - Adım 3

  4. Bir Integer değişkeni verin ve ona bir değer atayın.


    Excel VBA Double Data Type nasıl kullanılır - Adım 4

  5. Bir dize değişkeni oluşturun ve CStr() fonksiyonunu kullanarak VBA Double'ı String'e dönüştürün.


    Excel VBA Double Data Type nasıl kullanılır - Adım 5

    VBA CStr fonksiyonu herhangi bir veri türünü dize veri türüne dönüştürür.

  6. Tamsayı değişkenini “A1” hücresine atayın.


    Excel VBA Double Data Type nasıl kullanılır - Adım 6

  7. Çift değişkeni “A2” hücresine atayın.


    Excel VBA Double Data Type nasıl kullanılır - Adım 7

  8. Dize değişkenini “A3” hücresine atayın.


    Excel VBA Double Data Type nasıl kullanılır - Adım 8

    Not: Bu durumda Value fonksiyonunu kullanmaya gerek yoktur   çünkü String'deki sayısal değeri alır ve tam sayı olarak kabul edilir.
     
    Kod:

    Sub DoubleExample()
    Dim no As Double
    no = 100030.678
    Dim n As Integer
    n = -500.098
    Dim s As String
    s = CStr(no)
    Range(“A1”) = n
    Range(“A2”) = no
    Range(“A3”) = s
    End Sub

  9. VBA araç çubuğunda “Çalıştır” butonuna tıklayın.


    Excel VBA Double Data Type nasıl kullanılır - Adım 9a

    Yukarıdaki alt rutini çalıştırmak için klavyenizdeki “F5” tuşuna da basabilirsiniz. Kodu çalıştırdıktan sonra çıktıyı görüntülemek için çalışma sayfasına geri dönün.



    Yukarıda görüldüğü gibi, sayısal bir değer olmasına rağmen string değişkeni sağına değil de soluna hizalanmıştır. Bundan, VBA Double to String dönüşümünün başarıyla gerçekleştirildiği sonucunu çıkarabiliriz.

Artık VBA Double Veri Tipini nasıl uygulayacağınızı bildiğinize göre, bunları kullanarak bazı örnekleri inceleyebilirsiniz.

Çift Tıklama Olayı

VBA'da, çalışma sayfası, hücre veya kullanıcı formu gibi belirli bir nesne için VBA çift tıklama olayını işleyebilirsiniz.

Şu örneği ele alalım:

Çift Tıklama Olayı - 1

Bu örnekte, bu alt rutinin tetiklenmesi için herhangi bir Çalışma Sayfasında VBA çift tıklama olayını kullanırsınız. Bu durumda, varsayılan eylem yerine, yani çift tıkladığınızda herhangi bir hücreyi düzenlemek yerine, bir VBA çift tıklama olayı gerçekleşir.

Dolayısıyla bu örnekte belirtilen Çalışma Sayfasına (Sayfa2) gittiğinizde bir açılır pencere göreceksiniz.

Çift Tıklama Olayı - 2

VBA Double Veri Türünü Kullanma Örnekleri

VBA Çift Veri Tiplerinin farklı ve pratik kullanım yollarına bakalım.

Örnek 1

Kullanıcıdan bir girdi kabul ederek, ondalık sayılara bakılmaksızın bir karenin alanını bulmalısınız. Bu gibi durumlarda, VBA Veri türü Double'ı kullanacaksınız.

  • Adım 1: Bir karenin alanını bulmak için bir alt program oluşturarak başlayın.
Örnek 1 - Adım 1
  • Adım 2: Bir double değişken tanımlayın ve kullanıcıdan değeri alın. Ayrıca isterseniz, InputBox'ın başlığını aşağıda gösterildiği gibi adlandırabilirsiniz.
Örnek 1 - Adım 2
  • Adım 3: Bir karenin alanını başka bir Double değişkeni olarak tanımlayın.
Örnek 1 - Adım 3
  • Adım 4: Bir karenin alanının “s*s” olduğu bilinmektedir. Buradan yola çıkarak VBA’da tanımlayabilir, verilen girdinin sayısal olup olmadığını kontrol ederek başlayabilirsiniz.
Örnek 1 - Adım 4

Doğruysa, verilen kenarın karesini bulun (VBA'da herhangi bir sayının kuvvetini göstermek için "^" kullanın). Sonucu VBA'da bir Mesaj Kutusu'na yazdırın .

  • Adım 5: Verilen girdinin sayısal olmaması durumunda bir Else koşulu tanımlayın. Bu, herhangi bir nesne uyumsuzluğu hatasını önlemek içindir. "Geçersiz Giriş" diyen bir Mesaj Kutusu döndürün.
Örnek 1 - Adım 5

Kod:

Sub AreaOfSquare()
Dim s As Double
s = InputBox(“Enter the side of a square (in decimals)”, “Area of Square”)
Dim ar As Double
If IsNumeric(s) Then
ar = s ^ 2
MsgBox “Area of a Square of side ” & s & ” cm is: ” & ar & ” sq.cm”
Else: MsgBox “Invalid Input!”
End If
End Sub

  • Adım 6: Kodu çalıştırmak için Excel araç çubuğundaki “çalıştır” butonuna basın ve çıktıyı görüntüleyin.
Örnek 1 - Adım 6a

Artık kullanıcıdan değer kabul eden Giriş Kutusu karşımızda.

Örnek 1 - Adım 6b

Giriş Kutusunun başlığının daha önce tanımlandığı gibi olduğunu görebilirsiniz. Şimdi “OK” veya Enter düğmesine basın.

Excel'de VBA Çift Veri Türü - Örnek 1 - Adım 6c

Kenar girdisi verildiğinde karenin kapladığı alanı görebiliriz.

Örnek 2

Bir şirketin yönettiği bir satış tablosu verildiğinde, ondalıkları kaybetmeden tablodaki tüm değerlerin toplamını bulmanız gerekir. VBA Double veri türünü kullanacağınız mükemmel bir kullanım örneğidir.

Örnek 2

Verilen bir değerler kümesine, onu bir Excel Tablosuna dönüştürmek için “Ctrl + T” tuşlarına basın. Bu tablonun toplamını nasıl bulacağınızı aşağıda görebilirsiniz.

  • Adım 1: Yukarıda verilen tablonun toplamını bulan alt rutini adlandırın.
Örnek 2 - Adım 1
  • Adım 2: Bir ListObject veri türü tanımlayın ve tabloyu ona atayın. “Table1”de (yukarıdaki tablo) bulunan tüm değerleri tutacaktır.
Örnek 2 - Adım 2

Burada, tablonun hangi Çalışma Sayfasında olduğunu belirtirsiniz ve tablo adını eklersiniz (bu durumda "Tablo1").

  • Adım 3: Tablodaki tüm değerlerin toplamını double veri tipinde ve yinelemeli değişken olarak tutacak bir değişken tanımlayın.
Örnek 2 - Adım 3
  • Adım 4: İç içe geçmiş bir FOR döngüsü tanımlayın. İlk döngü tablodaki tek tek satırları almaktır. İkinci döngü önceki adımda belirtilen yinelemeli değişkenle tablonun her satırında çalışır.
Örnek 2 - Adım 4
  • Adım 5: Her tablo değerini daha önce bildirilen toplam değişkeniyle ekleyin. Sonra FOR döngüsüne devam edin .
Örnek 2 - Adım 5
  • Adım 6: Toplam tutarı “C2” hücresine yazdırın.
Örnek 2 - Adım 6

Kod:

Sub TotalSumOfTable()
Dim tb1 As ListObject
Set tb1 = Worksheets(“Example_2”).ListObjects(“Table1”)
Dim res As Double
Dim i As Range
For Each R In tb1.ListRows
For Each i In R.Range
res = res + i.Value
Next i
Next R
Range(“C2”).Value = res
End Sub

  • Adım 7: Yukarıdaki alt rutini VBA araç çubuğundaki “yeşil ok” düğmesine basarak çalıştırın.
Örnek 2 - Adım 7a

Çıktıyı görüntülemek için Çalışma Sayfasına geri dönün.

Excel'de VBA Çift Veri Türü - Örnek 2 - Adım 7b

Örnek 3

Bir dairenin yarıçapları kümesi verildiğinde, o belirli dairenin alanını bulmanız gereken bir örneği ele alalım. Ayrıca 100'den büyük bir değere sahip alanları vurgulamanız gerekecektir. Bu, alanları ve yarıçapları double değişkenler olarak bildirerek ve buna göre eşitlemeye başlayarak yapılabilir.

Örnek 3
  • Adım 1: Bir dairenin alanını yazdırmak için kullanacağınız alt prosedürün adını belirtin.
Örnek 3 - Adım 1
  • Adım 2: xlUp fonksiyonunu kullanarak tablonun boyutunu bulun. Tablonun boyutunu depolamak için bir Long değişkeni bildirin.
Örnek 3 - Adım 2

"A" sütununu alıp toplam satır sayısını sayıyorsunuz, sonra sayımı, klavyenizdeki "yukarı" ok tuşunu simüle etmek için kullanılan xlUp fonksiyonuyla boş olmayan son hücrede sonlandırıyorsunuz.

  • Adım 3: Yarıçap değişkenini ve alan değişkenini Double veri türü olarak tanımlayın.
Örnek 3 - Adım 3
  • Adım 4: Tabloda bir FOR döngüsü başlatın ve tüm değerlerin sayısal olup olmadığını kontrol edin.
Örnek 3 - Adım 4
  • Adım 5: Değer sayısal ise, o değeri yarıçap değişkenine atayın.
Örnek 3 - Adım 5
  • Adım 6: Formülü kullanarak dairenin alanını hesaplayın ve Excel çalışma sayfasının ikinci sütununa atayın.
Örnek 3 - Adım 6
  • Adım 7: Alanın 100'den büyük olup olmadığını kontrol edin. Eğer öyleyse, VBA ColorIndex kullanarak yazı tipi rengini değiştirin .
Örnek 3 - Adım 7

Burada renk indeksi 4, VBA'da yazı renginin yeşile dönüşeceği anlamına geliyor.

  • Adım 8: Tablodaki değerin sayısal olmaması durumunda bir Else koşulu tanımlayın (herhangi bir nesne türü uyuşmazlığı hatasını önlemek için ).
Örnek 3 - Adım 8

Sayısal olmayan bir değer durumunda, verilen girdinin geçersiz olduğunu söyleyen bir Mesaj Kutusu açılacaktır.

Kod:

Sub AreaOfCircle()
Dim lastRow As Long
lastRow = Range(“A” & Rows.Count).End(xlUp).Row
Dim rad As Double
Dim area As Double
For cell = 2 To lastRow
If IsNumeric(Cells(cell, 1).Value) Then
rad = Cells(cell, 1).Value
area = 3.14159 * rad ^ 2
Cells(cell, 2).Value = area
If Cells(cell, 2).Value >= 100 Then Cells(cell, 2).Font.ColorIndex = 4
Else
MsgBox “Geçersiz Giriş!”
End If
Next cell
End Sub

  • Adım 9: VBA araç çubuğundaki yeşil ok düğmesine tıklayarak yukarıdaki alt prosedürü çalıştırın.
Örnek 3 - Adım 9a

Butona bastıktan sonra çalışma sayfasına giderek sonuçları görüntüleyebilirsiniz.

Excel VBA Çift Veri Türü - Örnek 3 - Adım 9b

Bu durumda 100'den büyük değerlerin yeşil renkle vurgulandığını görebilirsiniz.

Dikkat Edilmesi Gereken Önemli Noktalar

  • Sayısal hesaplamalarda daha yüksek ondalık kesinliğine ihtiyaç duyduğunuzda Double'ı kullanın.
  • Kullanmadan önce Dim ifadesini kullanarak Double değişkenlerini açıkça tanımlayın.
  • Double, geniş bir değer aralığını işleyebildiğinden hem büyük hem de küçük sayılar için uygundur.
  • Çok büyük veya çok küçük sayıları temsil etmek için bilimsel gösterimi kullanın.
  • Kayan nokta aritmetiğinde oluşabilecek olası hassasiyet sorunları nedeniyle kesin karşılaştırmalar için Double kullanmaktan kaçının.
  • Yalnızca belirli sayıda ondalık basamağa güvenmeyin; kayan nokta gösteriminin doğasını göz önünde bulundurun.
  • Çift değişkenlerin Tek değişkenlere (4 bayt) kıyasla daha fazla bellek tükettiğini (8 bayt) unutmayın.

1. VBA'da bir değişkeni Double olarak nasıl tanımlarım?

Bir değişkeni double olarak tanımlamanın iki ana yolu vardır, aşağıda gösterildiği gibi:

Excel VBA Çift Veri Türü - SSS 1

Herhangi bir özellik eklemezseniz, VBA otomatik olarak verilen değişkenin VBA çift veri tipinde olduğunu varsayacaktır.

SSS 1 - 1

2. VBA'da bir Double değişkeninin tutabileceği değer aralığı nedir?

VBA'da bir Double değişkeni, negatif değerler için yaklaşık ile arasında değişen değerleri, pozitif değerler için ise arasında -1.79769313486232E308değişen değerleri tutabilir .-4.94065645841247E-3244.94065645841247E-3241.79769313486232E308

3. VBA’da Single ve Double arasındaki fark nedir?

VBA'da Single, tek hassasiyetli kayan nokta sayıları için bir veri türüyken Double, çift hassasiyetli kayan nokta sayıları için bir veri türüdür. Double, Single'a kıyasla daha fazla hassasiyet ve daha geniş bir değer aralığı sağlar.

Aşağıdaki örneğe bakın:

Excel VBA Çift Veri Türü - SSS 3

Çıktıyı görmek:

SSS 3 - 1

4. VBA'da Double değerleri için bilimsel gösterim kullanabilir miyim?

Evet, VBA'da Double değerleri için bilimsel gösterimi kullanabilirsiniz. Örneğin, 1.23 x 10^5'i VBA'da 1.23E+05 olarak gösterebilirsiniz.

Yorum Gönder

DT KARİYER KPSS Dünyasına Hoş Geldiniz
Sevgili dostum nasıl yardımcı olabilirim?
Bu alana yazınız...