DUYURULAR
Yeni eklenen ve/veya güncellenen sayfaları görmek için buraya tıklayınız.
Güncel ödev ve test listesini görmek için buraya tıklayınız.
Sitede yapılan iyileştirmeAer ve hata düzeltmelerine ait tüm bilgilendirmeleri görmek içinburaya tıklayınız.
Matematikte bildiğimiz 4 işlem operatörü VBA'de de aynen geçerlidir. Bunlara ek olarak;
Özel yazımı olan bir kontrol şekli var, o da True/False kontrolü. Bu kontrolü yaparken direkt boolean tipli değişkenin kendisini yazarak sorgulayabiliriz. Ör:
Sub bool_andor() Dim a As Boolean a = True If a And (x = 0 Or y = 1) Then 'if a=True demek yerine MsgBox "Doğru" Else MsgBox "yanlış" End If End Sub
Not operatörünün ilginç bir kullanımı da boolean tipli değişkenleri tersine döndürmek içindir. Özellikle toggle işlemlerinde(Ör:Bi düğmeye defalarca basıldığında True/False döngüsüne girme durumu) çok kullanılır.
Sub bool_not() Dim a As Boolean a = True a= not a ' a şimdi False oldu End Sub
İki tür birleştirme operatörü var.
+ işareti kullanıldığında değişkenlerden biri string tipte olsa bile eğer içeriği sayı ise birleşme yerine toplama olur. Aşağıda örnekler mevcut.
Sub birlestirme() Dim a As String Dim b As String Dim c As Integer Dim d As Integer Dim e As String a = "10" b = "20" c = 300 d = 5000 e = "volkan" Debug.Print "merhaba " + e 'iki string + ile birleşir Debug.Print "merhaba " & e 'iki string & ile birleşir Debug.Print a + b 'iki sayısal içerikli string + ile birleşir>1020 Debug.Print a & b 'iki sayısal içerikli string & ile birleşir>1020 Debug.Print a + c 'bir sayısal içerikli string ve bir numerik + ile toplanır>310 Debug.Print a & c 'bir sayısal içerikli string ve bir numerik & ile birleşir>10300 Debug.Print c + d 'iki numerik + ile toplanır>5300 Debug.Print c & d 'iki numerik & ile birleşir>3005000 'Debug.Print c + e 'hata verir, numerik ve sayısal içerikli olmayan string toplanamaz End Sub
Bir InputBox/MsgBox içindeki veya otomatik mailingdeki Body metni çok uzun ise bu metni parçalar halinde yazıp bunları sürekli kendisiyle birleştirerek ilerlemek yaygın bir yöntemdir.
Sub satırgeçiş() mesaj = "Müşteri segmenti için bir değer giriniz. " & vbCrLf mesaj = mesaj + "Bireysel müşteriler için 1," & vbCrLf mesaj = mesaj + "Ticari müşteriler için 2," & vbCrLf mesaj = mesaj + "Kurumsal müşteriler için 3" a = InputBox(mesaj) End Sub
Bir başka örnek de şöyle olabilir
Sub mailbodyornek() bodymsj="Değeri arkadaşlarımız" & Chr(10) & Chr(10) bodymsj=bodymsj+"........." bodymsj=bodymsj+"........" bodymsj=bodymsj+"........" 'Diğer kodlar End Sub
Bir de sayısal değişkenlerin kendisiyle toplanması vardır. Bu yöntemi de özellike döngüsel yapılar içinde kullanırız. Değişkenin kendisini 1 ile toplayarak, değerini artırmış oluruz.
Sub sayıartır() Dim i As Integer i=0 Do 'Diğer kodlar i=i+1 'burada i'yi her defasında bir artırmış oluyoruz. Gelişmiş dillerdeki i++ ifadesinin aynısıdır Loop Until i=100 End Sub
Herkese merhaba. Hosting maliyetlerinin aşırı artması yüzünden sitemi yakın zamanda(en geç Mayıs 2023) kapatmaya karar vermiştim. Ancak, siteyi yakından takip eden bir arkadaş siteyi devralmak istemiştir. Siteyi, Mayıs ayında kendisine devir etmeye karar verdim. Üyelik bilgilerini bana güvenerek girdiğiniz için, hepsini silmiş bulunuyorum, yani mail adreslerinizi kimseyle paylaşmamış olacağım. Bilginizi rica ederim.