Dosya ve Sayfa İşlemlerini Kısa VBA Örnekleriyle İnceleyin
Bu çalışma kitabı, Excel dosyaları ve çalışma sayfaları üzerinde kullanılan temel VBA işlemlerini ayrı yordamlar halinde gösteren bir örnek koleksiyonudur. Tek bir iş sürecini baştan sona yürüten hazır uygulama yerine, belirli bir işlemin kod karşılığını incelemek isteyen kullanıcılar için düzenlenmiştir. Dosya açma, kaydetme, sayfa ekleme, satır ve sütunlarla çalışma, koruma ve temizleme örnekleri iki standart modülde bulunur. Her yordam bağımsız bir örnek olarak okunmalı; kullanılacak dosya yolu, sayfa ve aralık ilgili ihtiyaca göre değerlendirilmelidir.Çalışma kitabının görünür sayfası Sheet1 adını taşır. Hücrelerde doldurulmuş bir veri tablosu veya hesaplama formülü yoktur. Sayfadaki iki düğme, örnek kodların bulunduğu part1 ve part2 modüllerini VBA düzenleyicisinde açar. Bu ayrım önemlidir: düğmeler bütün örnekleri topluca çalıştırmaz, bir sonuç raporu üretmez ve dosya seçme sihirbazı başlatmaz. Amaç, kullanılacak yordamın kodunu görünür hale getirmektir. Kapaktaki işlem tablosu ise konuya ait bir çizimdir; indirilen sayfanın gerçek ekran görüntüsü galeri alanında ayrıca gösterilir.
İki Modülün Kapsamı
part1 modülünde on sekiz, part2 modülünde yirmi genel yordam vardır. Sayfa üzerindeki iki özel düğme olayıyla birlikte toplam kırk yordam bulunur. Bu sayı kırk ayrı otomatik ürün işlevi anlamına gelmez; otuz sekiz öğretici kod örneği ve iki kod gösterme olayı olarak değerlendirilmelidir. Çalışma kitabında hesaplama formülü, grafik, veri tablosu veya kullanıcı formu bulunmaz. Kullanılan arayüz, tek sayfadaki iki ActiveX düğmesi ile VBA düzenleyicisinin kod penceresidir.Dosyada #REF! değerine başvuran adlandırılmış aralık kayıtları da korunmuştur. Bunlar örneklerin girdisini veya çıktısını belirleyen işlevsel alanlar değildir. Açıklanan işlemler modüllerdeki dosya yolu değişkenlerini, çalışma kitabı ve sayfa nesnelerini, açıkça yazılmış hücre aralıklarını kullanır. Bu nedenle yalnız adlandırılmış aralık listesinin mevcut olması, dosyada dinamik bir tablo ya da hesaplama sistemi bulunduğu şeklinde yorumlanmamalıdır.
Dosya Açma Kaydetme ve Kapatma
İlk grupta Workbooks.Add ile yeni bir çalışma kitabı oluşturma örneği yer alır. Oluşturulan kitap, örnek dosyanın bulunduğu klasörde temp.xlsx adıyla kaydedilir. Diğer yordamlar Workbooks.Open kullanarak belirtilen yoldaki dosyayı açar. Dosyayı kaydetme örneği, mevcut kitabı Save ile kaydettikten sonra SaveAs ile ikinci bir yola yazar. Dosyayı silme örneği ise Kill komutunu kullanır. Bu son işlem, hücre temizleme veya sayfa silmeyle aynı şey değildir; belirtilen dosya sistemindeki dosyaya uygulanır.Örneklerin önemli bir bölümünde C sürücüsü altında yer tutucu dosya yolu veya geliştiricinin masaüstü konumu yazılıdır. Kaydetme örneğinde ayrıca D sürücüsündeki yeni yol bulunur. Bu konumların her bilgisayarda mevcut olduğu varsayılmaz. Yordamların doğrudan çalıştırılması yerine, önce kodun okunması ve dosya yolu değişkenlerinin uygun bir deneme dosyasına yönlendirilmesi gerekir. Koleksiyon, otomatik yol seçimi veya mevcut dosyanın üzerine yazmayı engelleyen ortak bir kullanıcı arayüzü sunmaz.
Kapatma örneğinde kaydederek kapatma ile kaydetmeden kapatma alternatifleri açıklanır. Güncel revizyonda kaydederek kapatma çalıştırılır; kaydetmeden kapatma satırı alternatif açıklama olarak korunur. Böylece aynı Workbook nesnesi kapatıldıktan sonra ikinci kez kapatılmaya çalışılmaz. İki seçeneğin art arda uygulanması yerine, ihtiyaç duyulan kapatma davranışının tek çağrı olarak kullanılması gösterilmiş olur.
Sayfalarla Çalışma Örnekleri
Sayfa ekleme yordamı açılan kitaba yeni çalışma sayfası ekler. Yer belirleme örneği ilk sayfadan önce, ilk sayfadan sonra ve kitabın son sayfasından sonra ekleme işlemlerini gösterir. Before ve After parametreleri güncel revizyonda aynı çalışma kitabının gerçek Worksheet nesnelerine bağlanmıştır. Bu yöntem, yalnız sayısal sıra değeri verilmesinden kaynaklanan nesne hatasını giderirken örneğin üç ayrı konum gösterme amacını korur.Sayfa adını değiştirme örneği ilk sayfayı March olarak adlandırır. Sayfa silme örneği ilk sayfayı kaldırır; kopyalama örnekleri bir sayfayı yeni kitaba, üç sayfayı birlikte yeni kitaba veya aynı kitapta belirli konuma kopyalar. Ad vererek kopyalama örneğinde yeni sayfa Sayfan adını alır. Bu sabit adlar kullanıcının mevcut kitabındaki sayfa adlarına göre kontrol edilmelidir. Aynı adın zaten bulunması için özel bir yeniden adlandırma mekanizması yoktur.
Gizleme örneği ilk sayfayı gizler. Tüm sayfaları gizleme adlı yordam, etkin sayfayı açık bırakıp diğer sayfaları gizler; Excel'in en az bir görünür sayfa gereksinimiyle bu davranış ayrışır. Gösterme örneği diğer sayfaları yeniden görünür yapar. Sayfa varlığını kontrol eden yordam belirli bir adın varlığını araştırır ve bulunduğunda mesaj gösterir. Alfabetik sıralama örneği ise etkin kitabın sayfalarını adlarına göre karşılaştırır; dosya yolu açma adımı içermez.
Satır Sütun ve Kopyalama İşlemleri
İkinci modülde satır ekleme, satır silme, sütun ekleme ve sütun silme örnekleri bulunur. Satır ekleme yordamı dördüncü satırı, üçüncü ile beşinci satırlar arasındaki bloğu ve etkin hücrenin satırını ayrı adımlarda ekler. Bu adımlar birbirini izlediği için sonraki işlem, önceki eklemeden sonra oluşan konuma uygulanır. Satır silme örneği de ikinci satırın ardından üçüncü ile beşinci satırlar arasındaki mevcut bloğu kaldırır.Sütun örneklerinde B sütunu ile A:C bloğu kullanılır. Güncel revizyon, B sütununu metin olarak açıkça belirtir; tanımlanmamış B değişkeninin sütun başvurusu sanılması önlenir. Satır ve sütun gizleme yordamları belirtilen alanların Hidden özelliğini değiştirir. Gösterme yordamları aynı alanlarda bu özelliği kapatır. Kopyalayarak ekleme örnekleri ikinci satırı veya A sütununu kopyalar; ardından çoklu satır ve sütun bloklarını ekleme konumuna taşır. Bunlar değer yapıştırma işleminden farklı olarak satır veya sütun ekleyen örneklerdir.
Koruma ve Temizleme Ayrımı
Sayfa koruma örnekleri Protect ve Unprotect yöntemlerini parolasız veya örnek parola ile gösterir. Sayfa koruması, çalışma kitabının dosya açma parolasıyla aynı mekanizma değildir. Kaynaktaki DosyayıParolasızKoruma adlı yordam, adına rağmen SaveAs sırasında örnek açma parolası yazar. DosyayıParolaİleKoruma adlı yordam ise parola verilerek dosyayı açar. Bu ad ve davranış farkı korunmuş, açıklamada açıkça belirtilmiştir; yordam adı tek başına işlemin ne yaptığını belirlemek için yeterli değildir.Temizleme örnekleri farklı kapsamlar taşır. ClearContents, A1:X5 içindeki değer ve formülleri kaldırırken hücre biçimlerini korur. Clear, A1:P27 alanındaki içerik ve biçimleri birlikte temizler. Kullanılan alanı temizleme örneği UsedRange üzerinde çalışır; yalnız belirli bir giriş hücresini hedeflemez. ClearComments örneği A1:P27 içindeki klasik hücre açıklamalarını kaldırır. Bu işlemler arasında biçimin korunması, kapsamın sabit aralık veya kullanılan alan olması ve açıklamaların ayrı ele alınması bakımından belirgin farklar vardır.
Revizyon ve Kullanım Sınırları
Revizyon yalnız gerçek çalıştırmada hata veren VBA satırlarını düzeltir: kapatılan kitabın yeniden kapatılması, sayfa ekleme konumlarının nesne yerine sayı olarak verilmesi ve B sütununun tırnaksız kullanılması. Sayfa düzeni, düğmeler, hücreler, adlandırılmış aralıklar ve dosyanın diğer parçaları korunur. Özgün sürüm geçmişte ayrıca saklanır. Sabit dosya yolları genel bir dosya seçme aracına dönüştürülmemiştir; örnek koleksiyonunun öğretici yapısı sürdürülür.İşlev kontrolleri özel deneme kitaplarında ve yalnız bu denemelere ait yollarla yürütülmüştür. Dosya silme, kaydetme, şifreleme ve sayfa silme işlemleri gerçek kullanıcı belgelerinde denenmemiştir. Kod penceresi düğmelerinin çalışması, ortamın VBA proje erişimi ve ActiveX desteğine bağlıdır; güvenlik ayarlarının otomatik olarak değiştirilmesi dosyanın işlevi değildir. Kullanım öncesinde örnek yordamın hangi kitabı, sayfayı ve aralığı hedeflediğinin okunması, bu koleksiyonun doğru değerlendirilmesi için temel adımdır.