MAKRO PROGRAMLAMA DERS NOTLARI - Hitit Ü · PDF fileForm tasarlama, bileşenleri ekleme, modül ekleme, kod yazma işlemleri yapa-cağız. Form elemanları özelliklerini öğreneceğiz

  • Upload
    tranque

  • View
    245

  • Download
    2

Embed Size (px)

Citation preview

  • Makro Programlama Dersleri r. Gr. Ramazan BAYKAL

    1

    MAKRO PROGRAMLAMA DERS NOTLARI

    Excel ierisinde kaydedilen visual basic programlama komutlaryla alarak program

    gelitirme faaliyetine makro programlama denilmektedir. Bu derste Excel alma say-

    fasnda makro kaydederek ve kodlar inceleyerek makro programlarn anlamaya al-acaz. Form tasarlama, bileenleri ekleme, modl ekleme, kod yazma ilemleri yapa-

    caz. Form elemanlar zelliklerini reneceiz.

  • Makro Programlama Dersleri r. Gr. Ramazan BAYKAL

    2

    Makrolar altrma ayar

    Makrolar gvenlik nedeniyle varsaylan olarak devre d braklmaktadr. Makrolarn

    altrlmas iin etkinletirmek gereklidir. lem admlar aadaki gibidir.

    Dosya mens

    Excel seenekleri

    Gven merkezi

    Gven merkezi ayarlar butonu

    Makro ayarlar

    Tm Makrolar etkinletir seimi

    Tamam butonuyla ilemi bitiriniz.

    Ayrca makro bulunan Excel alma kitabnz kaydederken dosya tr seimi yapa-

    rak da altrmanz mmkndr. Tr Makro erebilen Excel alma Kitab

  • Makro Programlama Dersleri r. Gr. Ramazan BAYKAL

    3

    rnek uygulama i Kazan Tablosu

    Bir firmadaki iilerin alt gn saysna gre kazancn hesaplayan bir makro ya-

    znz.

    Gnlk creti makro program ierisinde gun=70 olarak tanmlaynz. Hesaplamalar

    buna gre yaparak kazan tablosunu oluturunuz.

  • Makro Programlama Dersleri r. Gr. Ramazan BAYKAL

    4

    Form ve Form Bileenleri

    Program ara yz hazrlamak iin formlara ihtiya vardr. Formlar zerine eitli nes-

    neler yerletirilerek ara yz ierii tanmlanr. Microsoft Visual Basic kod penceresinde

    Insert mensnden UserForm satr tklanarak form eklenir. Form eklenince otomatik

    olarak Toolbox (ara kutusu) grnr hale gelmektedir. Aada bir form ve zerine

    baz nesneler (Controls) eklenmitir. Form bileenlerine kontroller de denilmektedir.

    Label

    Etiket anlamna gelen bu nesne ile form zerine istediiniz konuma metin ekleyebilir-

    siniz. Eklediiniz metni zellikler penceresinden yaz tipi ile bykln, grnm-

    n deitirmeniz mmkndr.

    TextBox

    Metin kutusu anlamna gelen bu nesne ile form zerine istediiniz konuma metin giri

    kutusu ekleyebilirsiniz. Eklediiniz giri kutusuna girilecek olan metni zellikler pen-

    ceresinden yaz tipi ile bykln, grnmn deitirmeniz mmkndr.

    CommandButton

    Komut butonu anlamna gelen bu nesne ile form zerine istediiniz konuma komut

    butonu ekleyebilirsiniz. Eklediiniz komut butonu zerine girilecek olan metni zellik-

    ler penceresinden belirleyip, yaz tipi ile bykln, rengini ve grnmn dei-

    tirmeniz mmkndr.

  • Makro Programlama Dersleri r. Gr. Ramazan BAYKAL

    5

    Properties

    zellikler anlamna gelen bu pencerede seili olan form nesnesine ait zellikler ayarla-

    nabilmektedir.

    Caption : Balk veya grnecek metin

    Font : Yaz tipi zellikleri

    ForeColor : n renk, yaz rengi

    BackColor : Arka renk, zemin rengi

    Name : Nesneye verilecek isim

    Value : Deer

    Text : Metin

    Height : Ykseklik

    Width : Genilik

    Private Sub CommandButton1_Click()

    TextBox3.Value = TextBox1.Value * TextBox2.Value

    End Sub

  • Makro Programlama Dersleri r. Gr. Ramazan BAYKAL

    6

    Private Sub CommandButton2_Click()

    TextBox1.Text = ""

    TextBox2.Text = ""

    TextBox3.Text = ""

    End Sub

    Private Sub CommandButton3_Click()

    UserForm2.Hide

    End Sub

  • Makro Programlama Dersleri r. Gr. Ramazan BAYKAL

    7

    Form zellikleri

    Name : Form ad

    BackColor : Form rengi

    BorderStyle : Pencere kenarl stili

    Caption : Pencere bal

    Enabled : Kullanlabilirlik (True, False)

    Font : Yaz tipi zellikleri

    ForeColor : Metin rengi

    Height : Form ykseklii

    Left : Formun ekrann sol kenardan uzakl

    MouseIcon : Fare simgesi

    MousePointer : Fare iaretisi

    Picture : Form yzeyine resim ekleme

    PictureAlignment : Form yzeyine eklenen resmin hizalanmas

    PictureSizeMode : Form yzeyine eklenen resmin boyutlandrma modu

    PictureTiling : Form yzeyine eklenen resmi deme (True, False)

    ScrollBars : Kaydrma ubuklar

    StartUpPosition : Formun balang pozisyonu

    Top : Formun ekrann st kenardan uzakl

    WhatThisButton : Bu nedir butonu ekler (True, False)

    Width : Formun genilii

    Zoom : Formu bytme/kltme yzdesi

    Alr liste kutusu yapma

  • Makro Programlama Dersleri r. Gr. Ramazan BAYKAL

    8

    Form zerine Bir adet Label ve Bir adet comboBox yerletiriniz.

    Sayfa1de ders isimlerini nceden yaznz.

    ComboBoxRowSource zelliine Sayfa1!A1:A10 yaznz.

    ComboBoxText zelliineDers seimi yapnz : ifadesini yaznz.

    Label iin Ders seimi ifadesini Caption olarak belirtiniz.

    F5 ile altrnz.

  • Makro Programlama Dersleri r. Gr. Ramazan BAYKAL

    9

    Liste kutusu yapma

    Form zerine Bir adet Label ve Bir adet ListBox yerletiriniz.

    Sayfa1de ders isimlerini nceden yaznz.

    ListBoxRowSource zelliine Sayfa1!A1:A10 yaznz.

    Label iin Ders seimi ifadesini Caption olarak belirtiniz.

    F5 ile altrnz.

  • Makro Programlama Dersleri r. Gr. Ramazan BAYKAL

    10

    MultiPage yapma

    Form zerine bir adet MultiPage, Pageler ierisine birka tane CheckBox yerletiriniz.

    Page1 Caption zelliini Zorunlu Dersler olarak deitiriniz.

    Page2Caption zelliini Semeli Dersler olarak deitiriniz.

    CheckBoxcaptionlarn ders isimleri olarak belirleyiniz. F5 tuuyla altrnz.

  • Makro Programlama Dersleri r. Gr. Ramazan BAYKAL

    11

    GrupBox ve OptionButton hazrlama

    Form zerine bir adet GrupBox yerletiriniz. Caption zelliine Eitim Durumu yaz-

    nz.

    GrupBox ierisine drt adet OptionButton yerletiriniz. Caption zelliine lkokul, Or-

    taokul, Lise, niversite kelimelerini yaznz.

    Form zerine bir adet Label yerletiriniz. Caption zelliine Tahsil Durumu yaznz.

    Font zelliinde yaz boyutunu 12 ve kaln seiniz.

    Form zerine bir adet TextBox yerletiriniz. Font zelliinde yaz boyutunu 12 ve kaln

    seiniz.

    Form zerine bir adet CommandButton yerletiriniz. Caption zelliine Kaydet yaz-

    nz. Font zelliinde yaz boyutunu 11 ve kaln seiniz.

    CommandButton1 nesnesi altna yazlacak kodlar u ekildedir:

    Private Sub CommandButton1_Click()

    Range("B1").Value = TextBox1.Text

    End Sub

    OptionButton nesneleri iin yazlacak kodlar u ekildedir:

    Private Sub OptionButton1_Click()

    TextBox1.Text = "Zayf"

    End Sub

  • Makro Programlama Dersleri r. Gr. Ramazan BAYKAL

    12

    Private Sub OptionButton2_Click()

    TextBox1.Text = "dare eder"

    End Sub

    Private Sub OptionButton3_Click()

    TextBox1.Text = "yi"

    End Sub

    Private Sub OptionButton4_Click()

    TextBox1.Text = "ok iyi"

    End Sub

    ToggleButton Kullanm

    Deitirici dmeleri anlamnda kullanlr.

    Form zerine bir adet ToggleButton yerletiriniz. Caption zelliine Resmi Gizle yaz-

    nz.

    Form zerine bir adet Image yerletiriniz. Picture zelliini kullanarak bir resim seiniz.

    ToggleButton altnda altrlacak kodlar u ekilde olmaldr:

  • Makro Programlama Dersleri r. Gr. Ramazan BAYKAL

    13

    Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = False Then

    Image1.Visible = True

    ToggleButton1.Caption = "Resmi Gizle"

    Else

    Image1.Visible = False

    ToggleButton1.Caption = "Resmi Gster"

    End If

    End Sub

    ToggleButtona tkladnzda resmi gizliyor veya gsteriyor. Her seferide buton zerindeki me-

    tin duruma uygun olarak deiiyor. Seilen resim Image erevesinden byk veya kk olma-

    s durumunda stretch zellii ile ereveye gre boyutlandrabilirsiniz.

    Image1.PictureSizeMode=1- fmPictureSizeModeStretch gibi.

  • Makro Programlama Dersleri r. Gr. Ramazan BAYKAL

    14

    SpinButton ve ScrollBar Kullanm

    SpinButton, deer deitirici olarak bilinen bir form nesnesidir. zerindeki aa/yukar veya

    saa/sola doru ok iaretlerine tklayarak deer deitirilir. Balang deeri belirlenebilir. Mi-

    nimum ve Maksimum deerler belirlenebilir. Orientation zellii ile pozisyonu deiebilir.

    Balangta SpinButton deeri Minimum 0, Maximum 100 dr. stenirse bu deerler -10/+10

    gibi deitirilebilir.

    ScrollBar, kaydrma ubuu olarak bilinen bir form nesnesidir. zerindeki aa/yukar veya

    saa/sola doru ok iaretlerine tklayarak deer deitirilir. Balang deeri belirlenebilir. Mi-

    nimum ve Maksimum deerler belirlenebilir. Orientation zellii ile pozisyonu deiebilir.

    Balangta ScrollBar deeri Minimum 0, Maximum 32767 dir. stenirse bu deerler -100/+100

    gibi deitirilebilir.

    rnek uygulamada form zerine bir adet SpinButton, bir adet ScrollBar, iki adet label nesnesi,

    iki adet TextBox nesnesi yerletirelim. Label nesnelerinin Caption zelliini ekran grntsn-

    deki gibi deitirelim. TextBox nesnelerinin BackColor zelliini kullanarak renklendirelim.

    SpinButton nesnesine tklandka deer deiecektir. Bu deeri TextBox1 deeri olarak tanm-

    layalm.

  • Makro Programlama Dersleri r. Gr. Ramazan BAYKAL

    15

    ScrollBar nesnesine tklandka deer deiecektir. Bu deeri TextBox2 deeri olarak tanmlaya-

    lm.

    imdi sra geldi kod yazmaya:

    SpinButton nesnesine tklandka altrlacak procedure aadaki gibi olmaldr.

    Private Sub SpinButton1_Change()

    TextBox1.Value = SpinButton1.Value

    End Sub

    Scrol