Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Excel’de VBA Programlama (Visual Basic Application)

Benzer bir sunumlar


... konulu sunumlar: "Excel’de VBA Programlama (Visual Basic Application)"— Sunum transkripti:

1 Excel’de VBA Programlama (Visual Basic Application)
Emine TUNÇEL Kırklareli Üniversitesi, Pınarhisar Meslek Yüksekokulu

2 Excel Giriş Sayısal verilerin çözümlenmesi ve görüntülenmesi konularında uzman bir elektronik tablo (hesap tablosu) programıdır. Sayısal verileri ve metin verilerini saklayabilir, mevcut verilerde çeşitli hesaplamalar gerçekleştirebilir ve bu verileri temel alarak grafikler oluşturabilir. Excel dosyası her biri satır ve 256 sütün olarak düzenlenmiş pek çok sayfadan oluşmuş defter olarak düşünülebilir. Her satır ve sütunun kesişiminde bir hücre (cell) bulunur. Bir hücre sayı, metin ya da bir formül içerebilir. Ayrıca Excel gelişmiş grafik özelliklerine sahiptir. Verileri göstermek üzere pek çok grafik tipi sunmaktadır.

3 Excel’de Programlama Excel Nesneleri
Nesne yönelimli programlama (OOP) tekniği, gerçek dünyadaki somut nesnelerin bir yazılımın sunduğu soyut modelde birer karşılığı olmasına dayanır. Bu karşılıklara da nesne (object) denir. Nesne Tabanlı Programlama ile gerçek dünyadaki varlıklar ile bu varlıkların yer aldığı ilişkilerin birebir modellenmesi ve bu modele göre kod yazılması mümkündür. Excel’de bu nesneler çalışma kitapları (workbook), çalışma sayfaları (worksheet), aralıklar (ranges), hücreler (cells) ve harici dosyalardır. Excel Nesneleri

4 Excel’de Programlama Her bir Office uygulaması için en üst düzeydeki nesne Application olarak isimlendirilir. Bu nesne programın çalışan bir örneğini temsil eder. Her Workbook nesnesi açık durumdaki bir .xls ya da .xlsx dosyasını temsil eder. Excel’i normal olarak başlattığınızda uygulama (Application) otomatik olarak yeni ve boş bir çalışma kitabı (workbook nesnesi) açar. Excel çalışma kitabı içerisindeki her sayfa Worksheet nesnesidir. Range nesnesi belirli bir işlem için kullanılacak olan hedefi belirler. Bir aralık; tek bir hücreyi, bir çalışma sayfasındaki bütün bir satırı ya da sütunu veya çalışma kitabının farklı bölümlerinden seçilmiş hücre bloklarını temsil eder. İster bir çalışma sayfasına gömülü olsun, ister bir grafik sayfasında, bir çalışma kitabındaki her grafik bir chart nesnesi ile temsil edilir.

5 Nesnelerin arabirimlerini oluşturan 4 öğe vardır
Properties (Özellikler): Nesnelerin bilgi saklama yoludur. Bazen kullanıcı bilgilerini temsil ederken bazen de nesnenin karakteristiğini temsil eder. Örneğin Range nesnesinin value özelliği hücredeki sayısal ya da metinsel veriyi temsil ederken Numberformat özelliği hücrenin içerdiği verilerin görüntülenme özelliğini temsil eder. Methods (Metotlar): Nesne üzerinde eylem gerçekleştirir. Örneğin Range nesnesinin Select metodu belirtilen hücre bloğunu seçili hale getirir. Events (Olaylar): Pek çok nesne olaylara cevap verir. Olayların çoğu kullanıcı tarafından gerçekleştirilen eylemlere karşılık gelir. Örneğin kullanıcının bir çalışma kitabını açması Open olayıdır. Bu olay gerçekleştiğinde yapılması istenen işlemler programcı tarafından belirlenir. Collections (Kolesiyon): Bir öğenin birden fazla örneği için kullanılır. Örneğin birden fazla Excel çalışma dosyası açtığımızda Workbooks koleksiyonunda tutulur.

6 Makrolarla Çalışmak Makro: Sık yapılan işleri otomatikleştirir. Eğer Microsft Excel’de bir işi tekrarlı olarak (yinelemeli) yapıyorsanız, bu işi makro ile otomatik hale getirebilirsiniz. Makrolar 2 şekilde oluşturulur. Kayıt (record) Yöntemi ile Makro Oluşturma Visual Basic Editörü ile Makro Oluşturma Kayıt makroları otomatikleştirilecek işlemin adım adım yerine getirilmesi esnasında kayıt yapılarak oluşturulur. Gerekli kodlar Excel tarafından oluşturulur. VBA makrolarında ise kodlar yazılır. Daha fazla programlama bilgisi gerektirir.

7 Kayıt Makroları Kayıt makrosu özelliği, Visual Basic diline hakim olmayan, ama sürekli olarak yaptığı işi otomatikleştirmek isteyenler için var olan bir makro tipidir. Kayıt makrosunu bir kamera olarak düşünebilirsiniz. Yaptığınız çalışmalarda kamera özelliği gibi kayıt makrosunu açarsınız ve işlem adımlarınızı gerçekleştirirsiniz. İşlemleriniz bittiği anda kamerayı yani kayıt makrosunu durdurursunuz. Ardından Excel sizin için bu makroyu ve her kaydettiğiniz makroyu bir komut dizesi içerisinde modül oluşturarak saklar. Bundan sonra aynı işlemleri bir daha yapmanız gerektiğinde makroyu çalıştırırsınız ve makro sizin kaydetme aşamasında gerçekleştirdiğiniz bütün adımları gerçekleştirerek sizin yerinize işlemleri hızlıca yapar.

8 Makro Güvenliği Makrolar, genelde çok kullanışlı ve işlevsel olsa da bilgisayarımıza bulaşan virüslerin bir bölümü makro virüsleridir. Nedeni ise makro oluşturmak için kullanılan Visual Basic işlev ve komutlarının virüs yazılımında kullanılabilir olması ve bunların kolaylıkla makro virüslerine çevrilebilmesidir. Dolayısıyla makrolar, bilgisayarımız için güvenlik riski oluşturmaktadır. Herhangi bir makro oluşturduğumuz bir dosyayı öncelikle makro içerebilen Excel çalışma kitabı olarak kaydetmemiz gerekir. Aksi halde Excel makro işlevlerini kullanılamaz hale getirebilir.

9 Makro Güvenliği Excel içerisinde makro güvenliği için belirli düzey ayarlamaları mevcuttur. Bu ayarlamalar sayesinde bilgisayarımızda açtığımız makro içeren Excel dosyalarında rastgele komut dosyası çalıştırmayı engelleyici özellikler bulunur. Dosya menüsünden Seçenekler/Güven Merkezi/Güven Merkezi Ayarları/Makro ayarları bölümüne geldiğimizde karşımıza çıkan seçenekler, makrolar için belirlenebilir güvenlik ayarlarıdır.

10 Makro Güvenliği Şimdi bu ayarları inceleyim:
Bildirimde bulunmadan tüm makroları devre dışı bırak: Bu seçenek, Excel içerisinde kullanılabilir makroları etkisiz hale getirmeye yarar. Bildirimde bulunarak tüm makroları devre dışı bırak: Bu güvenlik düzeyi seçeneği Excel’de şu an varsayılan düzeydir. Makrolar yine devre dışıdır ancak, açılışta ekran görüntüsünde bizlere bildirimde bulunur. Dijital olarak imzalanmış makrolar dışında tüm makroları devre dışı bırak: Bu güvenlik düzeyinde makro projelerine atanmış ve satın alınmış dijital imzalı kitaplar haricinde tüm kitaplar için makrolar devre dışı bırakılır. Tüm makroları etkinleştir (Önerilmez, potansiyel olarak tehlikeli kodlar çalışabilir): Bu düzeyde güvenlik kalkanı sıfırlanarak tüm makrolar çalıştırılır.

11 Makro Kaydetmek Öncelikle Geliştirici menüsünü ekranımızda aktifleştirmek için Dosya/Seçenekler/Şeridi Özelleştir bölümünden Geliştirici menüsünün onay kutusunu işaretliyoruz. Geliştirici menüsündeki Makro Kaydet tuşu ile kayıt başlatılır. Bir makro adı belirleyin. Makrolara isim verirlen rakamla başlanmaz, boşluk karakteri kullanılmaz. Boşluk karakteri yerine _ (alt tire) kullanın. Makro12, ilk_makro gibi İstenirse makroyu çalıştırmak için bir kısayol belirlenebilir. Burada makroya atanacak kısayol tuşunun küçük harf olmasına dikkat edin. Eğer büyük harf atarsanız Ctrl+Shift tuşları ile kullanmanız gerekebilir. Daha sonra makronun çalışacağı yer belirlenir. "Bu çalışma kitabı " olursa makro sadece o anki Excel kitabında çalışır. "Kişisel Makro Çalışma Kitabı " seçilirse hazırlanan makro kaydı Excel’in kitaplığına kaydedilir ve yeni açılan tüm Excel kitaplarında kullanılabilir. Son olarak "Yeni Çalışma Kitabı " türünü seçersek de bu makro yeni açılan çalışma kitabında da çalışacaktır

12 Excel VBA VBA aslında tüm Office uygulamaları ile kullanılabilen Ofis ortamında gömülü bir programlama dilidir. Yani, VBA’yı öğrenerek temelde tüm Ofis uygulamalarında program yazabilirsiniz ve ofis ortamında otomasyon oluşturabilirsiniz. Excel içinde bir makro ya da VBA kodu yazmak için Geliştirici sekmesi altındaki Visual Basic komutu kullanılmaktadır.

13 Excel VBA Visual Basic komutu seçildiğinde ekranda program kodları yazmanızı sağlayacak Kod Düzenleme ekranı açılır.

14 Excel VBA Project Explorer: Bütün nesneler ve modüller bu pencereden takip edilir. Nesnelere ait program kodlarının veya nesnelerin gösterilmesi bu pencereden sağlanır. Properties Penceresi: Geçerli nesnelerin özelliklerini görmek ve düzenlemek için kullanılır. Düzenleme Penceresi: Nesne ve modüller için yazılacak program kodları için kullanılır.

15 Kodlarla Çalışmak Modülleri Kullanmak
VBA kaynak kodları Project Explorer penceresinde bulunan nesneler veya modüller içine yazılır. Kodlar başka uygulamalarda da kullanılacak ise için modül içine yazılmalıdır. Excel’de 3 tip modül bulunmaktadır: Standart Sınıf Kullanıcı Formu

16 Kodlarla Çalışmak Modülleri Kullanmak
Modül eklemek için Insert menusu kullanılır. Standart Modül: VBA yordam, fonksiyon ve veri tanımlamalarına ait kodlar içerir. Sınıf Modülü: Görsel arabirim sunmayan nesneler kümesine ait kodlar içerir. Kullanıcı Formu: Görsel arabirim nesnelerine ait kodlar içerir.

17 Kod Yazımında dikkat Edilecek Hususlar
Kod Açıklaması kullanmak VBA’da kesme işaretinden (‘) sonra gelen her şey birer açıklamadır. Bunlar derleyici tarafından dikkate alınmazlar. Açıklama eklemek için satırın başında olmak kaydıyla Rem anahtar sözcüğü de kullanılır.

18 Kod Yazımında dikkat Edilecek Hususlar
VBA da Çok Deyimli Satırlar VBA kaynak kodu satır başına bir deyim olacak şekilde yazılır Ancak tek bir satırda : işareti ile ayrılarak birden fazla deyim yazılabilir.

19 Kod Yazımında dikkat Edilecek Hususlar
Değişken Deklarasyonu Programın çalıştırılması esnasında verilerin ya da nesne referanslarının saklanabileceği adlandırılmış konumlara değişken (variable) denir. Eğer Option Explicit deyimi kullanılmışsa değişkenin kullanılmadan önce tanımlanması zorunludur. Bu durum hata yapmayı önleyecektir.

20 Kod Yazımında dikkat Edilecek Hususlar
Değişken ve Yordam (Procedure) İsimleri İlk karakterlerin harf olması gerekir. Boşluk karakteri ve karakterleri kullanılmaz Maksimum uzunluk 255 karakterdir. VBA anahtar sözcükleri veya fonksiyonları kullanılmaz Anlaşılır ve açıklayıcı olması rahat ve kullanışlıdır.

21 Veri Tipleri Sayısal Veri Tipleri

22 Veri Tipleri Metin Veri Tipi
Metin veya karakter katarı (String) veri tipi değişken uzunlukta katardan oluştuğu için deklarasyon esnasında büyüklüğü tanımlamak gerekmez. Dim isim as String şeklinde tanımlanır. Sabit uzunlukta bir karakter katarı deklare edildiğinde sabit bir büyüklüğe sahip bir değişken tanımlanmış olur. Sabit uzunluk deklare edildikten sonra daha uzun metin atanırsa metnin fazlalık kısmı kaybolur

23 Veri Tipleri Sabit Veri Tipi
Const anahtar sözcüğü ile sembolik bir sabit oluşturulur Bir kural olmamasına rağmen genellikle sabitler tamamen büyük harflerle ve kelimeler arası alt çizgilerle ayrılarak yazılır. Nesne Veri Tipi Bir nesneye ait referansları tutar.

24 Veri Tipleri Mantıksal Veri Tipi
Sadece iki değer alabilen (True/False) verileri tutmak için Boolean değişken tipinden faydalanılır. Tarih Veri Tipi Date tarih saklamak için kullanılan değişken tipidir.

25 Veri Tipleri Variant Tipi VBA’nın en esnek değişken tipidir.
Bir değişkeni bir tip belirtmeden deklare ederek variant değişken oluşturulabildiği gibi As Variant olarak da oluşturulur. Bu veri tipinin esnekliği her tipte veriyi tutabilmesinden kaynaklanır. Sayıları, metinleri, tarihleri veya dizileri tutabilir.

26 Veri Tipleri Kullanıcı Tanımlı Tipler
İki ya da daha çok öğe içeren veri yapısı tanımlanmasını sağlar. Tanımlamalar type…end deyimi arasında yapılır

27 Diziler Her bir öğeye ayrı ayrı erişmek için sayısal index kullanarak aynı isim altında birden fazla veri öğesini saklar. Statik ve dinamik olmak üzere iki tip dizi vardır

28 Diziler Statik diziler
Deklare edildiğinde tanımlanan sabit bir öğe sayısına sahiptir. Dim dizi_adi (n) As Type Söz dizimi ile deklare edilir. N dizideki en yüksek indisi tanımlar. Type VBA’nın tanıdığı herhangi bir tip (integer,string, vb…) olabilir. Option Base 1 ile index 1’den başlar

29 Diziler Dinamik diziler Değişken sayıda öğeye sahiptir.
Program çalışırken dizinin boyutu büyüyebilir ya da küçülebilir. Deklare ederken index belirtilmez. Herhangi bir anda dinamik dizinin eleman sayısı Redim deyimi ile genişletilebilir ya da azaltılabilir. Redim deyiminin her kullanılışında dizinin içeriği silinir. Dizi elemanlarının değerlerini korumak için Redim Preserve deyimi kullanılır.


"Excel’de VBA Programlama (Visual Basic Application)" indir ppt

Benzer bir sunumlar


Google Reklamları