Bu siteye giriş yaparak Çerez kullanımını kabul etmiş oluyorsunuz. İşbu sitede; çerez olarak, sadece son giriş tarihiniz ve eğer üye olursanız oturum statünüz tutulacaktır. Bunlar dışında başka hiçbir bilgi tutulmamaktadır. Çerezler için detaylı bilgi için buraya tıklayınız.
ANLADIM

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.

Baş
Udemy
Konular
Son
Konular
DigerFonksiyonlar
Fonksiyonlar
VBAMakro
VBAMakroFonksiyonlar4

Diğer Fonksiyonlar

VBA'de kullanılan birçok fonksiyon var elbette. Bunların bir kısmını önceki 3 bölümde gördük. Bunun dışında farklı bölümlerde ele aldığımız( Interaktivite bölümüdeki InputBox gibi) ve sonraki bölümlerede ele alacağımız(Dosya işlemlerindeki ChDir gibi) fonksiyonlar da var.

Bizim bu bölümde ele alacağımız fonksiyonlar da tıpkı bu yukarıda bahsettiklerim(metinsel,numerik ve tarihsel) gibi kendi başına kullanılan önemli fonksiyonlar olacak. Bunlar da öncekiler gibi çeşitli bağımsız Modüller(Information ve Interactive modülleri) içinde bulunuyor, Class modüllerinde değil. O yüzden bunları da tıpkı diğerleri gibi, önlerinde bir nesne olmadan kullanacağız.

Aşağıdaki görselden de farkedileceği üzere Modüllerin ikonu Class Modülllerinden farklıdır.(Bunlar başka dillerdeki Static/Shared sınıflara benzerler)

Fonksiyonlar

IsArray, IsDate,IsEmpty,IsError,IsNull,IsNumeric,IsObjcet: Bunlar parametere olarak aldıkları ifadelerin sırayla dizi mi, tarihsel ifade mi, boş mu, hata mı,null mı, sayısal mı obje mi olduğunu döndürür. Çoğunun kullanımı farklı yerlerde gösterildiği için burada ayrıca detaya girmiyorum.

TypeName:Değişkenin tipini verir.(String, Integer, Range vs). Genelde rutin kodlarımız içinde bulunmak yerine birşeyleri kontrol ederken test amaçlı kullanılır.

VarType: Değişkenin tip numarasını verir. Alacağı değerler şöyledir. 0:empty, 1:null, 2:int, 3:long,....7:Date, 8:string, 9:object, 11:boolean, 12:Variant (sadece variant arraylerde), 8192:Array(normal değer + 8192). Bu da TypeName gibi genelde test amaçlı kullanılır.

Bunların hepsini bir arada ele alındığı bir örneğe buradan ulaşabilirsiniz.

Environ:İşletim sistemiyle ilgili bilgiler verir. Ya bir indeksle ya da ifade ile kullanılır. Tüm indekslerin değerlerini aşağıdaki kod ile bulabilirsiniz.

Sub env()
For i = 1 To 46
    Debug.Print "i:" & i & ":" & Environ(i)
Next i
End Sub	

'İfade kullanımı da şöyledir
Debug.Print Environ("USERNAME")

Ben şahsen bunlardan özellikle COMPUTERNAME ve USERNAME'i sıklıkla kullanma ihtiyacı duyuyorum. Mesela ortak kullanılan bir dosya var diyelim, bu bende açıldığında farklı bir işleve sahip olsun başklarında açıldığnda farklı işleve sahip olsun istiyorsam, bunu şöyle hallederim:

If Environ("USERNAME")=12345 Then 'kullanıcı adımın 12345 olduğunu varsayın
    'diğer kodlar
Else
    'Exit Sub
End Sub

Birden fazla bilgisayarla çalıyorsam ve sadece birinde açılan dosyada işlem olsun istersem de şu kod işimi görür:

If Environ("COMPUTERNAME")="A12345" Then 'kullanıcı adımın 12345 olduğunu varsayın
    'diğer kodlar
Else 'B12345 ve L12345'te birşey yapmadan çıkar
    'Exit Sub
End Sub

CreateObject ve GetObject:Bunlar objeler bölümüde ele alınıyor.

SendKeys:Klavyeden belli tuş vey tuş kombinasyonlarının basılması taklidini yapar.

SendKeys "^{F2}" 'Ctrl+F2 kombinasyonuna basılmış sayar

Tüm kullanılabilcekek parametereler burada bulunmaktadır.

Shell:Belirli bir programı açar. Hesap makinesi, Windows Explorer en yaygın olanlarıdır.Mesela aşağıdaki örnekte diyelim ki bir dosyayı parçalara ayırdınız, dosyaların bölündüğü yer de Böl klasörü olsun. Kullanıcıya en son bir mesaj verip, ilgili klasörün açılması sağlanır.

Sub shellornek()

'kod bloğu
'
'
MsgBox "İşlem tamam. Dosyları görmek için tıkayınız"
Call Shell("explorer.exe" & " " & "C:\böl", vbNormalFocus)
'veya Shell "explorer.exe" & " " & "C:\böl", vbNormalFocus

End Sub

 

TEST SORULARI

Son Sorumuz şuymuş:Bir metindeki tüm noktaları yoketmek istiyorsunuz. Hangi fonksiyonu kullanırdınız?
Soru:

A şıkkı:

B şıkkı:

C şıkkı:

D şıkkı:

Doğru Cevap Etiketler

İlişkili konuyu seç

263876

Label
* Sorulara verilen yanlış cevaplardaki esprili yorumlarım için hoşgörünüze sığınıyorum.
* Test ve Ödevlerdeki bazı detaylar burada anlatılmamış olabilir. Bunları kendiniz araştırıp bulmalısınız.
* Birden çok konuya ait içeriği olan ödevler var. Algoritmik açıdan bakıldığında o an en uygun konuya adreslenmiştir.
Dikkat! Bir soruya cevap verdikten sonra geri dönemezsiniz.
2
0
0
0

Soru No:47. Aşağıdaki ifadelerden hangisi yanlıştır?





ÖDEVLER

0
0
ÖdevNo:... Şu an için bu konu için ödev bulunmamaktadır. İletişim menüsünden örnek ödev sorularını bana iletebilirsin.
Çözüme bakın(Başka türlü de çözülebilir tabi, bu benim çözümüm.)




=YORUMLAR ve SORULAR=


DEVİR UYARISI

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.