Excel'le Adım Adım Program Yazma

Çevrimdışı peternorton2

  • Bilge Üye
  • *****
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
# 08 Ara 2014 20:45:50
Formlar: (Kullanıcı formları olarak da adlandırılır) Kullanıcıların veri girişi ya da bilgi alış verişi için kullanılan iletişim kutularıdır.

Çevrimdışı peternorton2

  • Bilge Üye
  • *****
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
# 08 Ara 2014 20:49:41
Standart Modüller: Özel bir nesne ya da bir formla iliskisi olmayan kodlan tasırlar.
Sınıf Modüller: Özel bir nesne tipinin kodunu tasırlar.

Çevrimdışı peternorton2

  • Bilge Üye
  • *****
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
# 08 Ara 2014 20:58:06
Referanslar: Diğer projelere olan referansları tasırlar.
Bir modül ya da form içindeki kodu görebilmek için, nesneye tıkladıktan sonra, Proje gezgini
penceresinin üstündeki, Kod Görüntüle düğmesine basın.
Kod Görüntüle düğmesi
Bir nesne ya da formun kendisini görebilmek için ise, nesneye tıkadıktan sonra, Proje gezgini
penceresinin üstündeki, Nesne Görüntüle düğmesine basın.
Nesne Görüntüle düğmesi

Çevrimdışı peternorton2

  • Bilge Üye
  • *****
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
# 08 Ara 2014 21:06:26
Kod Penceresi
Bir proje içindeki kodları görebilmek için, kodu tasıyan elemana tıkladıktan sonra, Proje Gezgini
penceresinin üst tarafında bulunan Kodu Görüntüle düğmesine basmanız gerekir.
(modül kod penceresi, userform kod penceresi, çalışma sayfası kod penceresi)

Çevrimdışı peternorton2

  • Bilge Üye
  • *****
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
# 08 Ara 2014 21:18:37
Bir Procedure'ın Yapısı
Visual Basic düzenleyici ortamına yaratılacak olan program kokdu makro ya da procedure
 olarak adlandırılır.
Visual Basic’te değisik türde 3 procedure kullanılır:
1.Sub
2.Function
3.Property

Çevrimdışı peternorton2

  • Bilge Üye
  • *****
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
# 08 Ara 2014 21:30:26
Sub
Bir Sub yordamı herhangi bir değer döndürmez. Çağrılarak ya da bir olaya tepki olarak çalısır.
Bir Sub yordamının yapısı:
[Private|Public][Static] Sub yordam adı (argümanlar)
Deyimler
End Sub
Yordam çalıstırıldığında Sub ve End deyimleri arasında kalan satırlar isletilir. Sub yordamlar
standart modüller, class modüller ve form modülleri içinde yer alırlar. Sub yordamlar varsayım
olarak bütün modüllerde Public tanımlanır. Bunun anlamı bu yordamların uygulamanın
heryerinden (diğer modüllerden) çağırılabilmesidir.

Çevrimdışı peternorton2

  • Bilge Üye
  • *****
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
# 09 Ara 2014 19:20:37
Visual Basic’te yordamlar (procedure) ikiye ayrılırlar:
Genel yordamlar
Olay yordamları

Çevrimdışı peternorton2

  • Bilge Üye
  • *****
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
# 09 Ara 2014 19:22:02
1. Genel Yordamlar
Bir genel procedure belli bir islemi üstlenen program parçasıdır. Örneğin bir dosyanın açılması ya da raporun bastırılması için kullanılabilir. Genel yordamlar diğer yordamlardan çağrılırlar. Böylece belli bir islevi olan bu birim programın her yerinden istenildiği kadar çağrılarak kullanılır. Buna karsın olay yordamları ise kullanıcının yarattığı bir olay nedeniyle çalısır. Olay yordamları kullanıcıların hareketlerine tepki olarak çağrılırlar. Örneğin bir düğmeye tıklayarak bir islemin baslatılması. iyi bir programlama stratejisi içinde bir takım ortak görevler genel yordamlar olarak planlanmalıdır. Böylece kod tekrarına gerek kalmaz.
Yapısı:
Sub yordam adı(arguments )
-deyimler-
End Sub

Çevrimdışı peternorton2

  • Bilge Üye
  • *****
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
# 09 Ara 2014 19:25:52
2. Olay Yordamları
Olay yordamları bir olayın (event) olusmasına tepki olarak çalısırlar. Visual Basic nesneleri
(formlar, metin kutuları, düğmeler, vb) belli olayları tanırlar. Böylece olay olustuğunda; o olay
için hazırlanmıs olay yordamı çalısır.
Bir komut düğmesinin olayları:
Click: Tıklama
GotFocus: Odaklanma,üzerine gelme.
KeyDown: Bir tusa basmak.
MouseDown: Farenin bir tusuna basmak.
Olay yordamları,

Çevrimdışı peternorton2

  • Bilge Üye
  • *****
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
# 09 Ara 2014 19:26:40
Olay yordamları, bir nesnenin alt tire ile olaylara bağlı olarak gelistirilir. Bu adlar Visual Basic
kod editörü tarafından otomatik olarak ya da manuel olarak olusturulur.
Yapısı:
Nesne_Olay
Örnek:
Command1_Click
- 10 -
Olay yordamları Visual Basic nesnelerinin olaylarına bağlı olarak gelistirilirler: Örneğin
Form1_load olay yordamı bir formun açılması sırasında çalısacak bir yordamı,
Command1_Click olay yordamı da bir komut düğmesine tıklandığında çalısacak bir kod birimini
gösterir.
Yapısı:
Sub kontrol adı_olay adı(argümanlar )
-deyimler-
End Sub

Çevrimdışı peternorton2

  • Bilge Üye
  • *****
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
# 09 Ara 2014 19:27:25
Olay yordamlarının adını kod editörü içinde doğrudan yazabileceğiniz gibi Visual Basic
tarafından otomatik olarak koda eklenen yordam ve olay adlarını da kolayca kullanabilirsiniz. Bu
islem için kod editörü penceresinde nesne ve olay seçilir.
1. Kod editörü penceresinde Object kutusundan istediğiniz nesneyi seçin.
2. Procedure kutusundan isteğiniz procedure’ı seçin.
3. Sub procedure’ınız hazır.
Not: Burada procedure’ların adlarıyla ilgili olarak önemli bir konuyu açıklamak istiyorum. Bir
komut düğmesine bir olay yordamı ekledikten sonra; örneğin Command1_Click, özellikler
tablosundan Name özelliği ile kontrolün adı değistirilirse Visual Basic bunu takip edemez ve eski
procedure’ı genel bir procedure olarak modül genel düzeyine atar. Bu durumda procedure
yazılmadan önce adlandırma isleminin yapılması gerekir.

Çevrimdışı peternorton2

  • Bilge Üye
  • *****
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
# 09 Ara 2014 19:36:48
3. Fonksiyonlar
Visual Basic procedure'ları sadece Sub olarak düzenlenmez. Bir diğer procedure yapısı da
Function olarak bilinen fonksiyonlardır.
Bir procedure olarak düzenlenen fonskiyonlar belli bir islemi kod olarak içeren ve bir değeri geri
döndüren program parçalarıdır. Bir yordam olarak yaratılan fonksiyonların Sqr, Val gibi Visual
Basic’te hazır olarak bulunan fonksiyonlarla iliskisi yoktur. Fonksiyonlar kullanım bakımından bir
islemi yapan ve istenildiği yerde kullanılabilen bir kod birimidir. Örneğin bir faiz fonksiyonu
istenildiği program içinde istenilen yerde çağırılarak kullanılır.
Bir fonksiyon yordamının yapısı:
[Private|Public][Static] Function yordam adı (argümanlar) [As tip]
-deyimler-
End Function

Çevrimdışı peternorton2

  • Bilge Üye
  • *****
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
# 09 Ara 2014 19:37:09
Fonksiyonlar ayrı bir yordam olarak düzenlenirler. Fonskiyonların kullanımında argümanlar
önemlidir. Fonksiyonlar argümanları alırlar, bir dizi islem yaparlar ve sonucu döndürürler.
Sub yordamlar ile Function yordamlar arasında farklar sunlardır:
Bir fonksiyon değer döndürür ve genellikle bir esitliğin sağında kullanılır.
Bir sub ise belli bir isi yapar. Đslemi tamamlar bir değer ya da parametre ile kullanım zorunluluğu yoktur.

Çevrimdışı peternorton2

  • Bilge Üye
  • *****
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
# 09 Ara 2014 19:39:51
Örnek: Dereceyi Fahrenheit'e çeviren fonksiyon
Fonksiyonun tanımı:
Function Fahrenheit(x)
Fahrenheit = x * 9 / 5 + 32
End Function
Fonksiyonun kullanımı:
Private Sub Command1_Click()
Dim Değer As Integer
Değer = InputBox(" ")
MsgBox Fahrenheit(Değer)
End Sub

Çevrimdışı peternorton2

  • Bilge Üye
  • *****
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
  • 1.584
  • 26.592
  • 4. Sınıf Öğretmeni
# 09 Ara 2014 19:43:14
Örnek 2
Aşağıdaki kodu module kaydet, istediğin hücreye =yaz(sayi) formülünu yazdıktan sonra rakamı yazıya çevirir.

Function yaz$(sayi)

Dim b$(9)
Dim y$(9)
Dim m$(4)
Dim v(15)
Dim c(3)

b$(0) = ""
b$(1) = "Bir"
b$(2) = "İki"
b$(3) = "Üç"
b$(4) = "Dört"
b$(5) = "Beş"
b$(6) = "Altı"
b$(7) = "Yedi"
b$(8) = "Sekiz"
b$(9) = "Dokuz"

y$(0) = ""
y$(1) = "On"
y$(2) = "Yirmi"
y$(3) = "Otuz"
y$(4) = "Kırk"
y$(5) = "Elli"
y$(6) = "Altmış"
y$(7) = "Yetmiş"
y$(8) = "Seksen"
y$(9) = "Doksan"

m$(0) = "Trilyon"
m$(1) = "Milyar"
m$(2) = "Milyon"
m$(3) = "Bin"
m$(4) = ""

a$ = Str(sayi)

If Left$(a$, 1) = " " Then pozitif = 1 Else pozitif = 0
  a$ = Right$(a$, Len(a$) - 1)
For x = 1 To Len(a$)
  If (Asc(Mid$(a$, x, 1)) > Asc("9")) Or (Asc(Mid$(a$, x, 1)) _
      < Asc("0")) Then GoTo hata
Next x

If Len(a$) > 15 Then GoTo hata
a$ = String(15 - Len(a$), "0") + a$

For x = 1 To 15
  v(x) = Val(Mid$(a$, x, 1))
Next x

s$ = ""
For x = 0 To 4
  c(1) = v((x * 3) + 1)
  c(2) = v((x * 3) + 2)
  c(3) = v((x * 3) + 3)
  If c(1) = 0 Then
    e$ = ""
  ElseIf c(1) = 1 Then
    e$ = "Yüz"
  Else
    e$ = b$(c(1)) + "Yüz"
  End If
  e$ = e$ + y$(c(2)) + b$(c(3))
  If e$ <> "" Then e$ = e$ + m$(x)
  If (x = 3) And (e$ = "BirBin") Then e$ = "Bin"
  s$ = s$ + e$
Next x

If s$ = "" Then s$ = "Sıfır"
If pozitif = 0 Then s$ = "Eksi" + s$

yaz$ = s$
GoTo tamam
hata: yaz$ = "Hata"
tamam:
End Function

 


Egitimhane.Com ©2006-2023 KVKK