220 likes | 580 Views
Excel’de VBA programlama (Visual Basic Application) Ders 3. Değişken Kapsamı. Bir değişkenin kapsamı, değişkenin bir programın içinde görünür olduğu bölümleri tanımlar. Bir değişken sadece kapsamıyla belirlenen yerlerde kullanılabilir. Kapsamlar üç farklı seviyede kullanılabilir.
E N D
Değişken Kapsamı • Bir değişkenin kapsamı, değişkenin bir programın içinde görünür olduğu bölümleri tanımlar. Bir değişken sadece kapsamıyla belirlenen yerlerde kullanılabilir. Kapsamlar üç farklı seviyede kullanılabilir. • Bir yordamın içinde tanımlanan bir değişken sadece o yordamın içinde görünür durumdadır. • Private ya da Dim anahtar sözcüğü kullanılarak modül seviyesinde deklare edilen bir değişken, kendi modülü içinde ki bütün yordamlarda görünür. Ancak başka bir yerde görünmez. • Public anahtar sözcüğü ile modül seviyesinde deklare edilen bir değişken, Option Private Module deyimi etkinleştirilene kadar(bu durumda değişken aynı projenin birer parçası olan modüllerde görünür durumda olur) bütün projelerdeki bütün modüllerde görünür durumdadır.
pr1 yordamı çalıştırıldığında x değişkeni ilk önce 111 değerini alır. bu yordam içinden pr2 alt yordamı çağrıldığında x değişkeninin değeri 100 olur. pr3 altyordamı çağrılınca x değeri 23 olur. tekrar pr1 yordamına program akışı dönünce x değeri 111 değerine geri döner.
Opertörler Karakter Katarı Atama Karşılaştırma & kişi=“Ahmet” &“Karacalı” x =y Set obj1 = obj2 = <> >= <= < > obj1 Is obj2 string like patern Matematiksel Mantıksal + - * / \ ^ Mod And Or Not Xor Eqv Imp
Koşullu Deyimler if… Then… Else Belirli bir mantıksal şartın doğru olması durumunda if bloğu, yanlış olması durumunda ise else bloğu çalışır. IfşartThen IfşartThen Ifşart1Then blok 1 blok blok 1 ElseEnd If ElseIf şart2Then blok 2 blok2 End If ElseIf şart3Then blok3 Else blok4 End If
Koşullu Deyimler Select Case Bir ifadeyi değerlendirip buna göre birkaç deyim bloğundan birini çalıştıran koşullu deyimdir Select CaseifadeCase ifade listesi-1 blok-1 ...Case ifade listesi-2 blok-2 ...Case Elseelsedurumu End Select
Döngü Deyimleri For….Next Belirtilen tekrar sayısına göre VBA deyim bloğunu çalıştırır. Forsayac=baslangic To bitisStepadim . . deyimler bloğu . . Nextsayac
Döngü Deyimleri For Each...Next belirli bir deyim grubunu bir koleksiyonun herbir öğesi için bir kez çalıştırır. For EachöğeInkoleksiyon ….. deyimler ….. Nextöğe
Döngü Deyimleri Do..Loop Do Whileşart Do UntilşartDo Do ….. …… …… …… deyimler bloğu deyimler bloğu deyimler bloğu deyimler bloğu ….. …… …… …… Loop Loop Loop Whileşart LoopUntilşart
Döngü Deyimleri While…Wend Do While şart….Loop döngüsü ile aynıdır. While şart ….. deyimler bloğu …… Wend
Karakter Katarlarıyla Çalışmak Karakter Katarlarının İşlenmesi Asc Fonksiyonu argümandaki ilk karaktere ait kodu tanımlayan tamsayı döndürür. Asc(String) Chr Fonksiyonu belirli bir sayısal kodla temsil edilen karakteri döndürür. Chr(kod) kod 0 ile 255 arasında karakter kodudur.
InputBox Fonksiyonu kullanıcı tarafından klavyeden girilen bir karakter katarını döndürür. • InputBox(prompt, title, default, xpos, ypos, helpfile, context) • prompt İletişim kutusunda görüntülen metindir. • title İletişim kutusunun başlık çubuğunda gösterilmesi istenen metin • default kullanıcı bir yanıt girmediğinde kullanılacak varsayılan yanıt metni • xpos, ypos İletişim kutusunun ekranın sol üst köşesinden itibaren twip cinsinden konumu (1.44 twip 1 inch) • helpfile, context İletişim kutusuna bağlı yardım dosyası ve içeriğin help dosyasındaki yerini gösterir • MyValue = InputBox(Message, Title, , , , "DEMO.HLP", 11)
InputBox Methodu kullanıcı tarafından klavyeden girilen bir bilgiyi döndürür. • InputBox(prompt, title, default, left, top, helpfile, helpcontextId,type) • prompt İletişim kutusunda görüntülen metindir. • title İletişim kutusunun başlık çubuğunda gösterilmesi istenen metin • default kullanıcı bir yanıt girmediğinde kullanılacak varsayılan yanıt metni • left, top İletişim kutusunun ekranın sol üst köşesinden itibaren twip cinsinden konumu (1.44 twip 1 inch) • helpfile, context İletişim kutusuna bağlı yardım dosyası ve içeriğin help dosyasındaki yerini gösterir • type Döndürülen bilgiyi özelleştirir.
InStr, InStrRev Fonksiyonları Bir karakter katarının diğer bir karakter katarı içinde geçtiği ilk yeri bulmak için kullanılır. InStrRev karakter katarının sonundan itibaren bulur. • InStr(Start, String1,String2 , Compare) • Start Başlangıç yeri • String1 Araştırılacak katar • String2 Aranan Katar • Compare Karşılaştırma Türü (Büyük, küçük eşlemeli gibi.) LCase, UCase Fonksiyonları Bir karakter katarının tamamen büyük veya tamamen küçük harflerle yazılacak şekilde oluşturur. LCase(String) UCase(String)
Left, Mid, Right Fonksiyonları Karakter katarının başlangıcından, ortasından veya sağından itibaren belirtilen miktarda katar alır. Left(Stirng,n) katarın solundan itibaren n karakter alır Right(Stirng,n) katarın sağından itibaren n karakter alır. Mid(Stirng,start,n) katarın soldan start kadar sonra n karakter alır.
Len Fonksiyonu Bir karakter katarının karakter sayısını döndürür. Len(String) LTrim, RTrim, Trim Fonksiyonları Bir karakter katarından önce, sonra veya önce ve sonra gelen boşlukları kaldırır. LTrim(“ Merhaba ”) “Merhaba “ RTrim(“ Merhaba ”) “ Merhaba” Trim(“ Merhaba ”) “Merhaba” Str Fonksiyonu Bir sayısal değeri karakter katarıyla temsil edilen karşılığa döndürür. Str(Val) Space(n) Space Fonksiyonu belirli sayıda boşluk olan karakter katarı döndürür.
String Fonksiyonu Belirli bir karakterden belirli miktar sayıda karakter katarı oluşturur. String(n,char) Val Fonksiyonu Bir sayının krakter katarı ile temsil edilen halini sayısal değere döndürür. Val(String)
Option Compare VBA tarafından kullanılacak olan varsayılan metin karşılaştırma metodunu ayarlayan deyimdir. Option Compare method method Binary veya Text olarak ayarlanır. Binary karşılaştırma büyük ve küçük harfleri aynı harf olarak algılamaz. StrComp fonksiyonu iki karakter katarını karşılaştırır. StrComp(string1, string2, compare) compare vbTextCompare veya vbBinaryCompare olarak ayarlanır. vbBinaryCompare katar içindeki büyük ve küçük harfleri birbiri ile eşleştirmez.
StrConv Fonksiyonu Bir karakter katarıyla ilgili çeşitli dönüştürme işlemleri gerçekleştirir. StrConv(string, conversion, LCID)