25 Aralık 2013 Çarşamba

Excelde Fonksiyon Yazma (Makro)

Merhaba arkadaşlar.
Bu yazıda excel içinde nasıl fonksiyon yazacağımızı anlatacağım. Excel zaten kendi içinde birçok fonksiyona sahip ama istersek biz de bunlara ilave olarak yazabiliyoruz.
Öncelikle kod yazılan kısma resimdeki gibi bir yordam açıyoruz. Burada sadece SPLIT1 bölümü ve parantezin içi sizin değiştirebileceğiniz bölümdür, diğerleri standart. Parantezin içi seçeceğiniz hücreyi temsil eder. O alanı boş bırakırsanız fonksiyona excel hücrelerinden veri alamazsınız. Bu işlemlerden sonra içeriği ne yapmak istiyorsanız ona göre dolduracaksınız. Ben hücre değerini belli bir ayıraca göre parçalayıp onun ilk parçasını aldıracağım.

Bu kodları kısaca anlatacağım. Önce string bir dizi olan parca() değişkenimizi tanımlıyoruz. Sonra bunu Split komutu yardımıyla parçalanan hücre değerlerine eşitliyoruz. Parçalama (/) karakterine göre yapılıyor. Siz istediğiniz karakteri yazabilirsiniz. En son adım fonksiyon ismini bir değere eşitlemek. Bunu yapmazsanız fonksiyon yazdığınız hücreye değer gelmez. parca(0) ifadesi parçalanmış hücre değerinin ilk parçası anlamına gelir parca(1) olursa ikinci parça anlaşılır. Burada parçalanan hücre değeri iki parçaya ayrılmıyor ve siz parca(1) değerini almaya çalışıyorsanız, fonksiyon yazdığınız hücrede #DEĞER! diye bir yazı gelir.

Böylece excel içinde olmayan bir fonksiyonu yazmış olduk. Bu fonksiyonu excel eklentisi olarak kaydedip başka kullanıcılara da yükleyebilirsiniz.
Sormak istediğiniz birşey olursa messad@yandex.ru adresine e-posta atabilirsiniz, elimden geldiğince yardımcı olmaya çalışırım.








11 Mart 2013 Pazartesi

Excel Makro Sayfalar Arası Aktarım

Merhaba arkadaşlar.
Bugün makroda tekrarlanan işleri kolaylaştıran bazı uygulama örneklerini göstereceğim.

Örneğin excelde alt alta sıralanmış 1500 satır veri var ve siz bu verilerin 4 ve katlarındaki sırada olanlarını seçmek istiyorsunuz. Bunu el ile yapmak mümkün ama pek akıl kârı iş değil.

Böyle bir sayfa 1956 satır devam ediyor. 4 ve katlarını seçip diğer sayfaya yapıştıralım. Bu işlemin kodlarını hafızadan yazabilirsiniz ama daha kolay yolu var. Excel yaptığınız işlmelerin kodlarını kaydedebilir ve siz hazır kodları düzenleyerek işinizi halledebilirsiniz. Makro Kaydet tuşuna basarak işlem yapalım ve kodlara bakalım.
Resimdeki işaretli tuşa basıp yaptığınız işlemlerin kod satırları makro kısmında kaydedilir. Şimdi bu tuşa basıp ilk satırı kesip Sayfa2 ye ilk satıra yapıştırıp kodlarına bakacağım.
Bu kod satırlarında ilk satır Sayfa1 deki seçtiğimiz alanın kod karşılığıdır, ikinci satır seçtiğimiz alanı kestiğimizi gösterir. Bunlardan sonra Sayfa2 ye geçiren kod satırı geliyor ve seçili hücreden başlayarak yapıştıran kod satırıyla makro bitiyor.
Bu makroda düzenleme yapılmazsa her çalıştırıldığında hep aynı işi yapar ama bizim istediğimiz bu değil onun için kod satırlarında oynama yapacağız.


For k = 4 To 1956 Step 4
    Range("A" & k & ":" & "R" & k).Select
    Selection.Cut
    Sheets("Sayfa2").Select
    Range("A" & k / 4).Select
    ActiveSheet.Paste
    Sheets("Sayfa1").Select
Next


Oynama yapılan kod satırları böyle.Şimdi ne yaptığımı anlatacağım.
4. satırdan 1956. satıra kadar for döngüsüne alıyoruz ve 4 er 4 er artırıyoruz. İlk satırda 4'ün katları olan satırları seçtiriyoruz, 2.satırda seçilen satırı kestiriyoruz,3.satırda 2.sayfaya geçiyoruz 2.sayfada k/4 diyerek seçtiğimiz satırların teker teker artmasını sağlıyoruz, sonra seçtiğimiz hücreye yapıştırıyoruz ve en can alıcı nokta olarak tekrar Sayfa1 e geçiyoruz. Bu çok önemli çünkü Sayfa1'e tekrar geçmezsek makro ilk işlemden  hep boş hücreler yapıştırır çünkü seçtiği satırlar Sayfa2 den seçilir ve Sayfa2 de hiç bir veri yoktur.
Makroyu çalıştırdığımızda Sayfa2 aynen şöyle olacaktır.
Örnek Excel sayfasını buradan indirebilirsiniz. Hepinize kolay gelsin.

31 Ocak 2013 Perşembe

Excel Makro Temel

Merhaba arkadaşlar.
Bu yazıda size farklı ve çok yararlı bir programlamadan bahsedeceğim. Excel üzerinde herkes az çok bir şeyler yapmıştır. İşlem yapılan veriler ne kadar az olursa işiniz o kadar kolay olur. Ama veriler arttıkça sıkıntınız da artar. Bu sıkıntıları azaltmak için en büyük yardımcınız makrodur. Bu yazıda makro kaydetme, geliştirici kısmını yani kod kısmını görmeyi anlatacağım. Öncelikle excel çalışma sayfamızı açıyoruz. Ben Office 2010 ingilizce kullanıyorum.
İlk açılışta muhtemelen buna benzer bir görüntü oluşur. Bu ekranda çalışacağımız kısım görünmemekte. Görünür hale getirmek için sol üst köşedeki "File" tuşuna tıklıyoruz.

Yandaki görüntü çıkacak karşınıza, buradan da "Options"-Türkçe sürümünde muhtemelen seçenekler olarak geçer-seçeneğine tıklıyoruz  Gelen ekran  aşağıdaki gibidir.

Buradan "Costumize Ribbon" sekmesine gelip "Developer" yani geliştirici kutusunu seçili hale getirip tamam diyoruz. Bu işlemden sonra excelin üst kısmında bulunan veri, formüller ve diğer seçeneklerin olduğu sekme gurubuna geliştirici sekmesi de eklenecek ve bu işlemimizi tamamlamış olacağız.

Bu sekmeden kod bölgesine geçiş yapacağız ve makro kodlarıyla tekrarlayan işleri kendimiz yerine kodlara yaptıracağız.




















Geliştirici sekmesinden Visual Basic tuşuna bastığımızda veya (Alt + F11) yaptığımızda açılan kod penceremiz bu şekildedir.

Bu bölgede işlem yapabilmemiz için modül yüklememiz gerekiyor resimdeki gibi boş alana sağ tıklayıp modül ekledikten sonra kod yazmaya hazır hale geliyoruz.
Modül kısmına küçük bir makro yazıyoruz. Burada parantez açarak şunu belirtmeliyim makroda iki farklı yordam ile kod yazabilirsiniz. Biri Sub yordamı diğeri ise Function dır. Sub yordamı makro yordamıdır bu yordamlar exe gibi çalışır ama Function farklıdır adından da anlaşılacağı gibi fonksiyondur. Excelde bulunan TOPLA, ORTALAMA gibi bir kullanıcı tanımlı fonksiyondur. Kullanımı da aynen diğer fonksiyonlar gibi olur. Şimdi yazdığımız makroyu çalıştıralım.
Geliştirici sekmesindeki Makrolar tuşuna basıp çalıştırmak istediğiniz makroyu seçip çalıştır tuşuna basıyoruz ve işlem tamamlanıyor.

Kolay gelsin.







29 Ocak 2013 Salı

Flash Diske İşletim Sistemi Yazdırma

Merhaba arkadaşlar.
   Elinizde bulunan bir işletim sistemi iso dosyasını flash belleğe yazdırmayı anlatacağım. Bu işlem için dd.exe programına ihtiyacımız var. Programı indirmek isterseniz TIKLAYIN. Bu programı indirdikten sonra exe yi ve yazdırmak istediğiniz işletim sistemi dosyasını  C:\ ye atıyoruz. Bunun sebebini birazdan anlatacağım.
   Bu işlemler tamamlandıktan sonra Başlat>Donatılar>Komut İstemi yolundan komut istemini yönetici olarak açıyoruz. Karşınıza çıkan ekran şöyledir.
  Burada kabuk System32 dosyasının içinde şimdi cd\ komutunu yazıp enter tuşuna basıyoruz. Bu komut kabuğu C:\ dosyasına götürüyor. İşletim sistemi dosyasını ve dd.exe programını C' ye atmamız kabuk programda attığımız klasöre ulaşmak için uğraşmamamıza yaradı. Böyle yapmasaydık klasörü bulmak için zaman kaybedecektik. Şimdi komutu yazıp çalıştırdıktan sonraki ekrana bakalım
  Bu işlemden sonra dd --list komutunu yazıyoruz. Yazdığınız komutun harfiyen doğru olduğundan emin olun yoksa hatalarla karşılaşırsınız.Bu komuttan sonraki ekran görüntüsü şöyle olur.
  Komutun çıktısı fazla olduğundan iki resim almak zorunda kaldım ikinci resim çıktıların son satırlarıdır. Eğer bu çıktıyı aldıysanız hata yok demektir devam edebilirsiniz. Bu komuttan sonra dosyayı yazdıracak komuta geçiyoruz. En dikkatli olunması gereken nokta burası.
 dd if="C:\Pardus.iso" of=\\.\f: bs=4M  Bu komut yazdırma işlemini yapacak komuttur. Burada yazdıracağımız işletim sistemi dosyasının adı Pardus.iso. Siz hangi dosyayı yazdırmak istiyorsanız onun tam adını yazmalısınız. Diğer husus kırmızı olan f harfi. Bu benim flash belleğimin tanımlı olduğu sürücünün adı sizde flash bellek hangi sürücüye bağlıysa f yerine onu yazmalısınız. Yazdırmadan önce flash belleğe dosya sistemi FAT32 olacak şekilde format atın ve açık pencerede olmasın yoksa komut hata verir. Bu komuttan sonra ekran şu şekli alır.
 Yazdıracağınız işletim sistemine göre yazılar farklılık gösterebilir ama bu minvalde yazılar olacaktır. Bu ekran yazmaya başladığını gösterir bize yazma işlemi bitince ekran şu şekilde olur. O zamana kadar kabuk programı kapatmamalısınız.
 Bu ekrandan sonra işlem tamamlanmıştır. Artık işletim sistemini kurabilirsiniz.

Kolay gelsin.