Excel VBA – Sayfa 2 – Dr. S. ATAN
13 Mayıs 2011 Bilgisayar, Excel VBAYorum bırakın
Bilgisayar, Excel, Excel VBA, Genel
Excel içinde makro yazarak herhangi bir internet sitesini açmak
Excel makroları ile ya da diğer adı ile VBA ile yapılamaycak şey yok gibi. Şimdi diyelim ki bir excel tablosu ile çalışırken, döviz kurları ve benzeri bir veriyi almak için sürekli ve sıkça aynı web sitesini açıp bakmanız gerekiyor. Bunu elle yapmak yerine excel içerisine bir makro yazarak, makroya ister kısayol eklemek suretiyle ister bir butona atamak suretiyle otomatik olarak internet sitesini excel içinde açabilirsiniz.
Bunun direkt kodu vermek yerine teker teker ekran görüntüleri ile yapılışını gösteriyorum
Önce excel tablomuzu açıyor (2007 versiyon), Geliştirici sekmesinde Visual Basic butonunu tıklıyoruz.
Sonra açılan VBA ekranımıza kodlarımızı ekliyoruz.
En son olarak excel sayfamıza dönüp makromuzu test ediyoruz.
Açılan ekranda gelştirici sekmesinde makroları tıklayıp, GoToWebsite adlı fonksiyonu seçip çalıştır dediğimizde açılmasını istediğimiz suatatan.wordpress.com isimli sayfamız açılıyor.
Bu da kodlarımız
sURL = "http://www.codeforexcelandoutlook.com"
13 Mayıs 2011 Bilgisayar, Excel, Excel VBA1 Yorum
Excel’de makro kaydederek resim eklemek sorunlu bir iştir. Bunun yerine makroyu elle yazarak resmin eklenmesini sağlayabilirsiniz.
Makro kodu şu
Set MyPict = ActiveSheet.Pictures.Insert(SuatAtanResimYolu)
Bu kodda dikkat edeceğiniz husus SuatAtanResimYolu adlı değişkeni direkt resim.jpg diye tanımlama imkanı olmamasıdır. Ancak ve ancak makronunun çalışacağı bilgisayarda ilgili resmin bulunduğu yere resim konması gerekir.
Bu kodu bir kere yazdıktan sonra makronuza kısa yol tuşu atayarak istediğiniz her sayfaya hızlı bir şekilde sabit resim (imza, logo vb) ekleyebilirsiniz. Ayrıca yanılmıyorsam resmi gif olarak eklemek sorun oluyor o yüzden jpg olarak eklemekte fayda var.
Güzel değil mi? Suat ATAN Hayratıdır.
29 Nisan 2011 Bilgisayar, Excel, Excel VBAYorum bırakın
Bugün çoktandır merak edip araştırdığım Excel Makroları veya VBA denilen hizmeti öğrendim. Bir kaç saat içinde bundan sonraki toplu işlemleri tek kalemde yapmayı sağlayacak ‘ilaç’ gibi metotları öğrendim. (Daha önce programcılık yaptıysanız bir kaç saatte VBA’yı sökersiniz)
Excel VBA excel’de tabiri caizse hammallık yapmak gerektiğinde uzman excel kullanıcılarını hammallıktan kurtaran ve blok işlem yapabilen güçlü bir sihirli değnek.
Şimdi ilk örneğimi paylaşmak istiyorum. Bu örneği Hakediş tablosu hazırlarken geliştirdim. Temel amacı istenilen adette çalışma sayfasını (metraj için) otomatik olarak oluşturmak icmal defterindeki her bir kalemdeki yer alan poz no ile poz tanımlarını her bir sayfaya ayrı yapıştırmak.
Aşağıdaki kodda gördüğünüz fonksiyonlardan KOPYALA() fonksiyonu halihazırdaki excel tablonuzda M isimli çalışma sayfasından 21 adet kopyalar
BosMetrajTablosuOlustur adlı fonksiyon ise KESIFOZETI tablosunda B sütüunda B5 ten başlayarak B sütunundaki bir veriyi alıp yeni açılmış M1 M2 diye giden çalışma sayfalarındaki B2 hücresine kaydeder ve her seferinde bir sonraki çalışma sayfasına sonraki satır değerini kaydeder. Diğer satırlarda da başka satırlardan veri alıp başka çalışma sayfalarındaki başka alanlara yapıştırır.
DeleteSheet adlı fonksiyon onay almadan parametre olarak verilen çalışma sayfasını siler. TopluSayfaSil ise DeleteSheet
fonksiyonu kullanılarak belirtilen aralıkltaki çalışma sayfalarını siler.
' KOPYALA Makro
' Klavye Kısayolu: Ctrl+q
ActiveSheet.Name = "M" & i
Sheets("M" & i).Range("B2") = Sheets("KESIFOZETI").Range("B" & i + 4)
Sheets("M" & i).Range("B3") = Sheets("KESIFOZETI").Range("C" & i + 4)
Sheets("M" & i).Range("A6") = "Ayarla:" & Sheets("KESIFOZETI").Range("D" & i + 4)
DeleteSheet ("M" & i)
Sub DeleteSheet(strSheetName As String)
' deletes a sheet named strSheetName in the active workbook
24 Mart 2011 Bilgisayar, Excel, Excel VBAYorum bırakın