EXCEL’DE VİSUAL BASİC UYGULAMALARI
description
Transcript of EXCEL’DE VİSUAL BASİC UYGULAMALARI
EXCEL’DE VİSUAL BASİC UYGULAMALARI
MESUT ATASOYU
ATATÜRK ÜNİVERSİTESİ
MÜHENDİSLİK FAKÜLTESİ
ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
MİCROSOFT EXCEL
Sayısal bilgilerin kaydedilebilmesi,çözümleme yapılabilmesi ve sunulabilmesi için hazırlanmış bir elektronik tablo programıdır.
Sayılarla düzenlemeler yapma,malidüzenlemeler yapma,tablo çizme ve hesap makinasının işlemlerini kolay ve hızlı bir şekilde yapar.
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
VİSUAL BASİCÇok amaçlı ve aynı zamanda kolay bir
şekilde program geliştirmemizi sağlayan bir programlama ortamıdır.
Visual Basic ile küçük işlemler için program geliştirilebileceği gibi,bütün dünyaya uzanabilecek bir internet uygulaması geliştirilebilir
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
EXCEL ‘DEN VBA YA GEÇİŞ
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
Developer(geliştirici) aktif hale getiriyoruz.
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
Buradan visual basic uygulamasını aktif hale getiriyoruz.
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
MAKROLAR
Microsoft Excel programlama dilidir. Excel de visual basic uygulamalarına denir.
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
VBA TEMELLERİ MACRO SECURİTY : Macro güvenlik ayarlarını
doğru yapmak bizi potansiyel makro virüslere karşı korur.
VİSUAL BASİC EDİTÖR :Excel Vba da makrolar oluşturmak için başlangıç noktamızdır.
MACRO COMMENTS : Yazdığımız komut satırlarının işlevselliğini artırır.
WORKBOOK AND WORKSHEET : Farklı sayfa ve kitaplar da kodumuzu çalıştırdığımız da çok yararlıdır.
APPLİCATİON OBJECT: Excel seçeneklerine ulaşmamızı sağlar.
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
PROGRAMLAMA
VARİABLES : Excel Vba String : Karakter değişkenidir.
Byte : Sayısal değişken (Max:255)İnteger : Sayısal değişken (Max: 65535)Long : Sayısal değişken (Max : 2 milyar küsür.Binary : Sayısal değişken (10101 gibi)Double :Sayısal ondalıklı değişken(10.5) CALCULATE : Excel Vba add, subtract,
multiply and divide komutlarıyla 4 işlem yapabilirizz.
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
IF THEN STATEMENT : Özel koşullar için verilerimizi derleyebiliriz.
CELLS : Özellikle çevrimlerde,Range komutundan daha yaygın kullanılır.
LOOP : En etkili programlama yöntemidir,For-Next loop örnek verebiliriz.
RANGE : Excel çalışma sayfamıza bir veri ekleme var olan veriyi değiştirme veya çağırma vb işlevler için kullanılır.
LOGİCAL OPERATORS : And,Or ve Not vbOperatorler yaygın olarak kullanılır.
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
ARRAY :Aynı türden toplanmış değişkenler kümesidir.
Örnek : Dim Tablo(4,3) As Integer FUNCTİON AND SUB : ‘Function’ bir değer
döndürür ‘sub’ döndürmez.Function and Sub programın verimliliğini artırır.
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
KONTROLLER
TEXTBOX : Bilgi girişi için kullanılır.Programlar da adı,soyadı,ili vb alanlardır.
COMMAND BUTTON : Bir olayın kullanıcı tarafından başlatılması için kullanılır.
CHECKBOX :Belli seçeneklerin seçilmesini sağlar.
COMBOBOX : Veri seçme ve listeleme de kullanılır.
USERFORM :Görsel arabirime ait kodlar içerir. LİSTBOX : Elemanların gösterilmesini sağlar.
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
EXCEL DE ÖRNEK VİSUAL BASİC UYGULAMALARI
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
Hücre seçmek : Range("B2").Select Cells(2, 2).Select Hücreye değer atamak :
Range("B2").Value=100 'sayısal değerRange("B2").Value="ExcelTürk" 'Text; tırnak içinde
Hücrenin dolgu rengini değiştirmek : Range("B2").Interior.ColorIndex = 6 'Sarı renk
Hücreye formul yazdırmak : Range("B2").Formula="=A1+A2"'A1 ve A2 hücresini toplar,B2 ye yazdırır.
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
A1 hücresi sıfırdan büyükse makro çalışsın : Private Sub Worksheet_Change(ByVal Target As Excel.Range)If Target.Range("A1") >= 1 Then MsgBox "A1 Hücresindeki değer sıfırdan büyük"End Sub
Eğer A1 hücresinde işlem yapılırsa A2 hücresine değiştirilme tarihi ve saatini yazar : Private Sub Worksheet_Change(ByVal Target As Excel.Range)If Target = Cells(1, 1) Then Cells(2, 1) = NowEnd Sub 'alternatif Time
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
Eğer aktif hücreler nümerik (sayı) ise ve 500 den büyükse kalın yap :
Sub aktiflestir()If IsNumeric(ActiveCell) ThenActiveCell.Font.Bold = ActiveCell.Value >= 500End IfEnd Sub
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
EXCEL VBA DA FOR-NEXT DÖNGÜSÜ VE IF-ELSE KOŞULLU İŞLEM KULLANIMI
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
FOR NEXT DONGUSU İÇİN ÖRNEKLER : 5 satır ve 10 kolonluk bir matrisin bütün
elemanlarına -1 değeri verme : Dim matris(1 To 5, 1 To 10) 'Veri tipi
variant kabul ediliyorFor i = 1 To 5 For j = 1 To 10matris(i, j) = -1Next jNext i
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
IF-ELSE için örnek : 1'den 5 e kadar olan sayıların kontrolünü yapangirdiğiniz sayının kaç olduğunu bize söyleyen ve 5 ten büyük bir sayı girmişsek bizi uyaran bir program yazalım. Private Sub Command1_Click()
a = Text1.Texta = Val(a)If a > 5 ThenMsgBox "5'ten büyük sayı giremezsiniz"End IfIf a = 1 ThenMsgBox "Girdiğiniz sayı=1"ElseIf a = 2 ThenMsgBox "Girdiğiniz sayı=2"ElseIf a = 3 ThenMsgBox "Girdiğiniz sayı=3"ElseIf a = 4 ThenMsgBox "Girdiğiniz sayı=4"ElseIf a = 5 ThenMsgBox "Girdiğiniz sayı=5"End IfEnd Sub
ATAT
ÜR
K Ü
NİV
ERSİ
TESİ
SABIRLA DİNLEDİĞİNİZ İÇİN TEŞEKKÜRLER