excelde visual basic (M Atasoyu)

Download Report

Transcript excelde visual basic (M Atasoyu)

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Ü
 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,mali
düzenlemeler yapma,tablo çizme ve hesap
makinasının işlemlerini kolay ve hızlı bir
şekilde yapar.
ATATÜRK ÜNİVERSİTESİ
MİCROSOFT EXCEL
 Ç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ÜRK ÜNİVERSİTESİ
VİSUAL BASİC
ATATÜRK ÜNİVERSİTESİ
EXCEL ‘DEN VBA YA GEÇİŞ
ATATÜRK ÜNİVERSİTESİ
ATATÜRK ÜNİVERSİTESİ
De
ge
ATATÜRK ÜNİVERSİTESİ
Buradan visual basic
uygulamasını aktif hale
getiriyoruz.
ATATÜRK ÜNİVERSİTESİ
ATATÜRK ÜNİVERSİTESİ
MAKROLAR
ATATÜRK ÜNİVERSİTESİ
 Microsoft Excel programlama dilidir.
 Excel de visual basic uygulamalarına denir.
 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ÜRK ÜNİVERSİTESİ
VBA TEMELLERİ
 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ÜRK ÜNİVERSİTESİ
PROGRAMLAMA
ATATÜRK ÜNİVERSİ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,ForNext 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 vb
Operatorler yaygın olarak kullanılır.
ATATÜRK ÜNİVERSİ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.
 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ÜRK ÜNİVERSİTESİ
KONTROLLER
ATATÜRK ÜNİVERSİTESİ
EXCEL DE ÖRNEK VİSUAL
BASİC UYGULAMALARI
Range("B2").Value=100 'sayısal değer
Range("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ÜRK ÜNİVERSİTESİ
 Hücre seçmek : Range("B2").Select
Cells(2, 2).Select
 Hücreye değer atamak :
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) =
Now
End Sub 'alternatif Time
ATATÜRK ÜNİVERSİTESİ
 A1 hücresi sıfırdan büyükse makro çalışsın :
ATATÜRK ÜNİVERSİTESİ
 Eğer aktif hücreler nümerik (sayı) ise ve 500
den büyükse kalın yap :
Sub aktiflestir()
If IsNumeric(ActiveCell) Then
ActiveCell.Font.Bold = ActiveCell.Value >=
500
End If
End Sub
ATATÜRK ÜNİVERSİTESİ
EXCEL VBA DA FOR-NEXT DÖNGÜSÜ VE
IF-ELSE KOŞULLU İŞLEM KULLANIMI
 Dim matris(1 To 5, 1 To 10) 'Veri tipi
variant kabul ediliyor
For i = 1 To 5
For j = 1 To 10
matris(i, j) = -1
Next j
Next i
ATATÜRK ÜNİVERSİTESİ
 FOR NEXT DONGUSU İÇİN ÖRNEKLER :
 5 satır ve 10 kolonluk bir matrisin bütün
elemanlarına -1 değeri verme :
girdiğ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.Text
a = Val(a)
If a > 5 Then
MsgBox "5'ten büyük sayı giremezsiniz"
End If
If a = 1 Then
MsgBox "Girdiğiniz sayı=1"
ElseIf a = 2 Then
MsgBox "Girdiğiniz sayı=2"
ElseIf a = 3 Then
MsgBox "Girdiğiniz sayı=3"
ElseIf a = 4 Then
MsgBox "Girdiğiniz sayı=4"
ElseIf a = 5 Then
MsgBox "Girdiğiniz sayı=5"
End If
End Sub
ATATÜRK ÜNİVERSİTESİ
 IF-ELSE için örnek : 1'den 5 e kadar olan sayıların kontrolünü yapan
ATATÜRK ÜNİVERSİTESİ
SABIRLA DİNLEDİĞİNİZ
İÇİN TEŞEKKÜRLER