EXCEL KODLARI
Excel yapısı gereği geliştirmeye açık bir uygulamadır. Excel’i kullanan kullanıcı kendisine göre bazı ek kod ve formüller ile işlerini kolay ve rahat hale
getirebilir. Daima yapılan işleri otomatik olarak yapılması için Excel kodları kullanılabilir.
Excel kodlarını yazmak için Excel içinde Makro yazım alanında yazabileceğiniz gibi Geliştirici bölümünü aktif ederek
makro ve kodlar üzerinde daha kapsamlı işlemler yapabilirsiniz.
Basit şekilde makrolar yazmak, makro kaydetmek ve yazılmış makrolar üzerinde değişiklik yapmanın yanı sıra çalışma sayfası içindeki makroları çalıştırmak
için Görünüm menüsü altındaki Makrolar kullanılır.
Makro kodlar ve Visual Basic kodları ile işlemler yapmak isteyen kullanıcılar için Excel geliştiricileri daha farklı araçlar eklemişler. Normal
kullanıcıların fazla işine yaramadığı için bu bölüm aktif değildir. Geliştirici bölümü normalde aktif değildir. Kullanmak isteyen ve
profesyonel kullanıcıların gerektiğinde aktif etmesi için pasif bırakılmıştır.
Geliştiriciyi aktif etmek için sol üst köşedeki Office düğmesine tıklayarak açılan menüden ExcelSeçenekleri tıklanır. Açılan menüden Popüler içerisindeki Şeritte Geliştirici Sekmesini göster aktif yapılmalıdır.
Excel Kod Örnekleri
Bazen Excel içerisinde sürekli yapılan işlerin otomatik yapılması gerekebilir. Böyle durumlarda makro yazmak doğru çözüm olacaktır. Bir örnek kod
oluşturalım. Çalışmalarınızda bazı hücrelerin diğer hücrelere göre hep aynı renk, boyut ve şekilde olmasını isteyebiliriz. Bunu her çalışmamızda yeniden
yapmak yerine bir defa makro şeklinde yaparsak o makroyu her zaman kullanabiliriz. Makronun yapacağı işler şunlar olsun. Farenin bulunduğu hücrede birden
çok işlem yapalım. Hücre fontu 20 olsun renk kırmızı olsun hücre genişliği otomatik olsun yazı alttan ve üsten ortalı olsun.
Makro yazmak için Geliştirici menüsünü açıyoruz. Oradan Makro kaydet tıklıyoruz. Makro kaydetmeye başlayınca dikkatli
hareket etmemiz lazım yapılan her fare işlemini ve klavye işlemini makroya kayıt yapmaktadır.
Yukarıdaki resimde de görüldüğü gibi Makro kaydına başlamak için Makro Kaydet’e tıklayarak makro kaydına başlıyoruz. Dikkat edilecek tek
şey “Göreli Başvuruları Kullan” seçeneğinin aktif olması gerekiyor.
“Göreli Başvuruları Kulla” aktif olduğunda makro yazılırken ki hücre değil de makro çalışırken ki aktif hücre üzerinde makro işlemleri yapılacaktır. Buna
dikkat etmek gerekiyor.
Açılan menüden makroya isim veriyoruz. İstenirse ismi değiştirilebilinir. Makro1, makro2 diye Excel’in kendiside otomatik isim vermektedir. Makrolarla çok
iş yapılıyorsa makronun yaptığı işe göre isim vermek en mantıklısıdır. Makronun çalışması için kısayol seçilebilinir. Belirlenen harfeCTRL ile birlikte basılırsa makro direk çalışacaktır. Makro yazarken dikkat edeceğiniz önemli konulardan birisidemakronun saklanacağı yer meselesidir. Eğer yazacağınız makroyu bütün işlerinizde kullanmayı düşünüyorsanız Kişisel Makro Çalışma Kitabı seçilmelidir. Yazacağınız makroyu sadece bu dosyada kullanacaksanız Bu çalışma Kitabı
seçilmelidir.
Makromuzu oluşturduk. Makro çalışıyor. Makroya ad olarak hucre ismini verdim makroyu çalıştırmak için kısayol olarak CTRL+b harfini verdim. Hangi hücrenin
değişmesini istiyorsak fareyi o hücrede bırakıp CTRL+b ye basınca makro çalışıyor ve hücreyi istenilen şekilde yapıyor.
Makromuzun kodlarını yukarıda gördük. Toplam 3 adet işlem yapıyor. O 3 işleme dair kodlar mavi kutucukları içerisinde gruplanmış şekilde gözüküyor.
Makrolarda bölümler with ile başlıyor end with ile bitiyor. Bu şekilde makro içerisindeki kodları bölümlere ayırmanız
kolay olacaktır.
Excel’de Visual Basic Kodları
Excel içerisinde makro yazım alanında Visual Basic kodları kullanılmaktadır. Excel’i ileri seviye öğrenmek istiyorsanız excel’de makroları çok iyi
kavramanız lazımdır. Excel’de makrolarda da başarı sağlamak istiyorsanız Visual Basic kodları ile haşir neşir olmanız lazımdır. Excel içinde Makroyu Excel
makro kaydet ile yapabilirsiniz lakin makroların içinde değişiklik yapmak ve bazı şeyleri ekleyip çıkarmak için Visual Basic komutlarını kullanmanız
gerekecektir. excel vba kodları zor kodlar değildir. Birde kullandıkça geliştiğiniz göreceksiniz. Visual basic nesne tabanlı programlama
dillerinden birisidir. O nedenle bir nesneye yönelik özellik ve değerler o nesne ismi kullanılarak verilir.
ActiveSheet.Name
şeklindeki bir komut ile activeSheet ‘in adı ile iş yapacağım anlamına gelmektedir. excel vb kodları net üzerinde aramalarda sıkca buna
benzer aramalar yapılarak Excel kodları aranmaktadır. Sizlerde bu tür aramalar yaparak örnek kodları inceleyerek kendinizi bu alanda geliştirebilirsiniz.
Excel Kodları Nereye Yazılır?
Excel’i ileri seviyede kullanmayı düşünen herkesin bilmesi gerekenlerin başında Excel makroları gelmektedir. Excel makro kodları arasında zor olanları
olduğu gibi kullanması kolay ve basit olanları da vardır. siz basit olanlarından başlayarak Excel kodları bilginizi geliştirebilirsiniz. Excel kodları
nereye yazılır sorusuna gelecek olursak kodları makro bölümünde kullanırız. Haliyle kodlar makro bölümüne yazılmaktadır. Geliştirici özelliğini aktif
ettiğimizden dolayı Excel menülerimiz arasında bulunan Geliştirici sekmesinde bulunan Visual Basic’e tıklayarak daha önce oluşturduğumuz makro kodlarına
erişebiliriz.
Yukarıdaki resimde görüldüğü gibi Visual Basic'e tıkladığımızda çalışma sayfamızda kayıt edilmiş herhangi bir makro yok ise böyle bir sayfa ile
karşılaşırız.
Makro bulunan çalışma sayfasında Visual Basic bölümüne girildiğinde Modules bölümü bulunmaktadır. Orada çalışma sayfamızda bulunan makroların kodları
barınmaktadır. Oradan kod eklemesi, kod değiştirmesi yani kodlarla alakalı neler yapılacaksa yapılabilinir.
Excel kodlarını Visual Basic bölümünde modules bölümünü kullanarak ekleyebiliriz.
Vba Kod Kodları
Makroların içerisinde kullanılan vba kodları genel olarak Visual Basic bölümünde yazılır. Worksheets.Add kodu çalışma dosyanıza bir sayfa daha eklemeye
yarayan bir koddur. Toplam 3 sayfa var ise Worksheets.Add kodunu kullandığınızda sayfa sayısı 4’e çıkacaktır. Bunu bir makro içersinde kullanalım.
Sub yenisayfa()
'
' yenisayfa Makro
'
' Klavye Kısayolu: Ctrl+y
'
Worksheets.Add
End Sub
Makronun kodları yukarıda verildi. Visual Basic alanında görülecektir.
Excel Makro Kodları
Excel içerisinde kullanılacak kod çok fazladır. Visual Basic’te kullanılan kodların %90’nına yakını Excel makroları içerisinde kullanılabilinir. Excel
makro kodlarını kendinizde oluşturabilirsiniz. İleri Excel bilginiz yada makrolarla haşir neşirseniz kendinize yarayacak işlerinizi hızlandıracak makro
kodları yazabilirsiniz.
Yukarıdaki örneğimizde kullandığımız makro kodu vardı. Worksheets.Add şeklinde kullanmıştık. Onunla birlikte ActiveSheet.Name = "Yeni" yeni bir satır ekleyerek makroyu çalıştırırsak yeni bir sayfa açıyor sayfanın adınıda “Yeni”
olarak ayarlıyor. Buna benzer VBA kodlarını ekleyerek kendinizde Excel makro kod havuzu oluşturabilirsiniz.
Sub yenisayfa_adli()
'
' yenisayfa Makro
'
' Klavye Kısayolu: Ctrl+y
'
Worksheets.Add
ActiveSheet.Name = "Yeni"
End Sub
Makroyu çalıştırdığımızda adı yeni olan bir sayfa daha oluşturdu. Yukarıdaki resimde görülmektedir. Bu makroyu işimize yarayacak şekilde nasıl dizayn
edebiliriz. Şöyle bir kurgu yapsak çalışma sayfamızda belli bir alandaki hücre bilgisine göre sayfanın adını değiştirecek olsak.
Şuna benzer bir çalışma sayfamız olduğu düşünelim. Firma isimlerini C2 hücresine yazıyoruz. Böyle bir tablo ile çalışıyoruz. Makromuz çalıştırıldığımızda
C2 hücresindeki firma adını alarak sayfanın adını o firma adı yapmaktadır. Birkaç küçük kod ile yapılacak işleri kolay hale getirebilirsiniz.
Sub sayfaadi()
'
' yenisayfa Makro
'
' Klavye Kısayolu: Ctrl+s
'
ActiveSheet.Name = ActiveSheet.Range("C2").Value
End Sub
Excel Visual Basic Kodları
Excel içerisinde basic kodları kullanarak çok zaman alan işlerin kolay olarak yapılması sağlanabilir. Örneğin bir tablomuz var bu tabloyu yazıcıdan
çıkaracağız. Her seferinde yazıcıdan çıkarılacak veriyi yeniden ayarlamak yerine bir şablon kullanarak verilerin başka sayfadan alınarak kâğıda dökülmesi
sağlanabilir. Bunları yapmak için birazcık Excel birazcık visual basic bilginizin olması gerekmektedir.