
Onlarca yıldır bir Excel kullanıcısı tekrarlayan bir görevi otomatikleştirmek istediğinde cevap hep aynıydı: Visual Basic for Applications (VBA). İnanılmaz derecede güçlü olmasına rağmen VBA, programlama bilgisi gerektirir, kesinlikle Microsoft Office masaüstü ekosistemi içinde çalışır ve yeni başlayanlar için göz korkutucu olabilir. Bugün, modern ve bulut tabanlı bir alternatif var: Microsoft Power Automate.
Power Automate (eski adıyla Microsoft Flow), dosyaları senkronize etmek, bildirim almak, veri toplamak ve çok daha fazlası için favori uygulamalarınız ve hizmetleriniz arasında otomatik iş akışları oluşturmanıza olanak tanır. En iyi yanı ise başlamak için hiçbir kodlama bilgisine ihtiyaç duymamasıdır. Bu kapsamlı kılavuzda, tek bir satır VBA kodu yazmadan kusursuz bir Excel otomasyonu elde etmek için Power Automate'i nasıl kullanabileceğinizi keşfedeceğiz.
"Nasıl" kısmına dalmadan önce, "neden" kısmını anlamak önemlidir. VBA Temelleri: İlk Excel Programınız başlıklı yazımızda bahsettiğimiz gibi VBA öğrenmek, masaüstüne bağlı ve karmaşık elektronik tablo manipülasyonları için hala değerli bir beceri olsa da, Power Automate modern ve bağlantılı çalışma ortamlarında parlamaktadır.
Hangi aracın ne zaman kullanılacağına dair hızlı bir karşılaştırmayı aşağıda bulabilirsiniz:
| Özellik | Excel VBA | Power Automate |
|---|---|---|
| Ortam | Masaüstü (genellikle çevrimdışı) | Bulut tabanlı (internet gerektirir) |
| Öğrenme Eğrisi | Dik (kodlama bilgisi gerektirir) | Kolay (görsel sürükle-bırak arayüzü) |
| Dış Entegrasyonlar | Zor (karmaşık API'ler gerektirir) | Yüzlerce uygulama ile yerel entegrasyon |
| Tetikleyici Türleri | Çalışma kitabı olayları (açma, tıklama, değiştirme) | Dış olaylar (e-postalar, form gönderimleri, webhook'lar) |
Amacınız dış kaynaklardan veri girişini otomatikleştirmek, elektronik tablo verilerine dayalı otomatik e-postalar göndermek veya Excel'i Salesforce, SharePoint veya Outlook gibi yazılımlara bağlamaksa, Power Automate en iyi seçeneğinizdir. Ancak, yüzlerce yerel dosyada biçimlendirme yaparak Excel VBA ile Raporları Otomatikleştirmek üzerine kesin bir odaklanmanız varsa, VBA muhtemelen hala bir numara olacaktır.
Power Automate'te otomatikleştirilmiş bir dizi Akış (Flow) olarak adlandırılır. Her akış, üç temel yapı taşından oluşur:
Excel'i Power Automate kullanarak başarıyla otomatikleştirmek için kurulumunuzun iki kritik gereksinimi karşılaması gerekir:
Power Automate bir bulut hizmeti olduğundan, bilgisayarınızın yerel `C:` sürücüsüne kaydedilmiş bir Excel dosyasıyla güvenilir bir şekilde etkileşime giremez. Çalışma kitabınız OneDrive İş (OneDrive for Business) veya bir SharePoint Belge Kitaplığında kayıtlı olmalıdır.
Power Automate verileri basitçe boş bir çalışma sayfasına bırakamaz; tanımlanmış sınırlara ihtiyaç duyar. Hedef veri aralığınızı resmi bir Excel Tablosu (Table) olarak biçimlendirmelisiniz. Bunu yapmak için:
Oldukça pratik bir senaryo üzerinden gidelim: Gelen e-posta taleplerini bir Excel elektronik tablosuna otomatik olarak kaydetmek. Bu, manuel veri girişini ortadan kaldırarak Bir Girişimin Excel Otomasyonu ile Haftalık 20 Saati Nasıl Tasarruf Ettiğine dair mükemmel bir örnektir.
OneDrive'da "Eposta_Kayitlari.xlsx" adında yeni bir Excel dosyası oluşturun. Aşağıdaki başlıklara sahip bir tablo oluşturun:
Bu aralığı Tablo olarak biçimlendirin ve "EpostaKayitTablosu" olarak adlandırın. Dosyayı kapatın.
Power Automate'te oturum açın (make.powerautomate.com). Sol kenar çubuğunda Oluştur (Create) seçeneğine tıklayın ve ardından Otomatikleştirilmiş bulut akışı (Automated cloud flow) seçeneğini belirleyin.
Akışınıza "Gelen E-postaları Kaydet" adını verin. "Akışınızın tetikleyicisini seçin" arama kutusuna "Outlook" yazın. Yeni bir e-posta geldiğinde (V3) - Office 365 Outlook (When a new email arrives (V3)) seçeneğini seçin ve Oluştur'a tıklayın.
Akış tasarımcısında, tetikleyici kutusuna tıklayın. Burada yalnızca belirli bir konu filtresi (örneğin, "Talep") içeren e-postalar için tetiklenme gibi parametreler belirleyebilirsiniz. Bu kılavuz için, Gelen Kutusundaki tüm e-postalarda tetiklenecek şekilde bırakacağız.
+ Yeni adım (+ New step) düğmesine tıklayın. "Excel"i arayın ve Excel Online (Business) bağlayıcısını seçin. Eylem listesinden Tabloya bir satır ekle (Add a row into a table) seçeneğini seçin.
Şimdi dosya konumunu eşleştirin:
Tabloyu seçtiğinizde Power Automate, 1. Adımda oluşturduğunuz sütun başlıklarını otomatik olarak gösterecektir. "Dinamik içerik (Dynamic content)" (e-posta tetikleyicisinden gelen veriler) atamak için her bir alana tıklayın:
Kaydet (Save) düğmesine tıklayın. Artık tek bir VBA satırı olmadan tamamen işlevsel bir otomasyon oluşturdunuz! Hesabınıza bir test e-postası gönderin ve Excel tablosunun otomatik olarak doldurulmasını izleyin.
Power Automate'in dikkat edilmesi gereken yönlerinden biri, getirdiği verilerin tam olarak istediğiniz gibi biçimlendirilmemiş olabilmesidir. Örneğin, e-posta örneğimizdeki Received Time değeri karmaşık bir ISO 8601 zaman damgası (ör. 2023-11-28T14:32:00Z) olarak içe aktarılacaktır.
Bunu karmaşık Power Automate ifadeleri kullanarak ayrıştırmaya çalışmak yerine, tablonuzdaki standart Excel formüllerine güvenebilirsiniz. Excel tablonuza "Temiz Tarih" adında yeni bir sütun ekleyin. Resmi bir Excel Tablosu kullandığınız için ilk satıra bir formül yazabilirsiniz ve Power Automate her yeni satır eklediğinde bu formül otomatik olarak aşağı kopyalanacaktır.
Zaman damgasından yalnızca tarihi çıkarmak için, standart biçimlendirmeyle sarılmış LEFT ve VALUE işlevlerinin bir kombinasyonunu kullanabilirsiniz:
=VALUE(LEFT([@[Alınma Tarihi]], 10))
Bu yeni sütunu Excel'de Kısa Tarih olarak biçimlendirin. Artık akış her çalıştığında, Excel veri dönüşümünü anında halleder.
Ayrıca bu fırsatı gelen verileri çapraz referanslamak için de kullanabilirsiniz. Örneğin, gönderenin e-postasının başka bir çalışma sayfasındaki mevcut bir müşteriye ait olup olmadığını kontrol etmek isterseniz, otomatikleştirilmiş tablonuzda doğrudan İNDİS KAÇINCI: Üstün Arama Yöntemi kullanabilirsiniz:
=IFERROR(INDEX(Müşteriler!B:B, MATCH([@[Gönderen E-postası]], Müşteriler!A:A, 0)), "Yeni Talep")
Bu kurulumla, elektronik tablonuz verileri otomatik olarak kategorize eden yaşayan, nefes alan bir veritabanına dönüşür.
Tablolara satır eklemek sadece bir başlangıçtır. Power Automate başka birçok güçlü Excel eylemi sunar:
Her Cuma saat 17:00'de satış verilerinin bir özetini göndermeniz gerektiğini hayal edin. Haftalık olarak tetiklenen bir Zamanlanmış bulut akışı (Scheduled cloud flow) oluşturabilirsiniz. Akış, haftanın verilerini çekmek için "Tabloda bulunan satırları listele" eylemini kullanabilir, verileri biçimlendirmek için "HTML tablosu oluştur" veri işlemi eylemini kullanabilir ve ardından Outlook bağlayıcısı aracılığıyla gönderebilir. Bu, karmaşık makro tabanlı raporlamaya harika bir alternatif olarak hizmet eder.
Veriler Excel'e ulaşmadan önce daha da gelişmiş veri manipülasyonu için, Power Automate için harika bir yol arkadaşı olan Power Query: Verileri Bir Profesyonel Gibi İçe Aktarın ve Dönüştürün içeriğimize göz atmak isteyebilirsiniz.
Daha karmaşık akışlar oluşturdukça birkaç yaygın engelle karşılaşabilirsiniz. Bunları şu şekilde çözebilirsiniz:
Birisi Excel dosyasını masaüstü uygulamasında açtıysa ve dosya OneDrive ile düzgün senkronize olmuyorsa, Power Automate bir satır eklemekte başarısız olabilir. Dosya kilitlenmesini önlemek için her zaman dosyanın Otomatik Kaydetmeye (AutoSave) ayarlandığından ve paylaşılan bir bulut ortamında depolandığından emin olun.
Excel tablosunu siler ve yeniden oluşturursanız, yeni tabloya tamamen aynı adı verseniz bile Power Automate bağlantıyı kaybeder. Excel her tabloya gizli ve benzersiz bir tanımlayıcı atar. Bir tabloyu yeniden oluşturursanız, akışınıza geri dönmeli, tabloyu açılır menüden yeniden seçmeli ve dinamik içeriğinizi yeniden eşleştirmelisiniz.
"Tabloda bulunan satırları listele" eylemini kullanırken Power Automate, döndürülen satır sayısını varsayılan olarak 256 ile sınırlar. Tablonuzun 1.000 satırı varsa hepsini alamazsınız. Bunu düzeltmek için, eylem üzerindeki üç noktaya (...) tıklayın, Ayarlar (Settings) seçeneğini seçin, Sayfalandırmayı (Pagination) açın ve eşiği istediğiniz bir sayıya (100.000'e kadar) ayarlayın.
Manuel veri girişinden Power Automate'e geçiş yapmak, elektronik tablolarınız hakkında düşünme biçiminizde bir değişiklik gerektirir. Artık sadece hücreleri doldurmuyorsunuz; veri sistemleri tasarlıyorsunuz. Bu sistemlerin kusursuz çalışması için, gelen otomatikleştirilmiş verileri işlemek üzere tablolarınızda sağlam Excel formüllerine ihtiyacınız vardır.
Power Automate'in getirdiği verileri işlemek için VLOOKUP, INDEX, MATCH gibi işlevleri veya iç içe geçmiş IF ifadelerini birleştirmekte zorlanırsanız GPTExcel size yardımcı olabilir. İhtiyacınızı kendi kelimelerinizle açıklamanız yeterlidir —örneğin, "Otomatik tarih sütununu kontrol eden ve 30 günden eskiyse 'Gecikmiş' döndüren bir formüle ihtiyacım var"— ve GPTExcel yapıştırmaya hazır, kesin formülü anında oluşturacaktır.
Çoğu Microsoft 365 ticari ve eğitim aboneliğine Power Automate'in temel bir sürümü dahildir. Buna Excel Online, Outlook ve SharePoint gibi standart bağlayıcılar dahildir. Premium bağlayıcılar (Salesforce veya özel API'ler gibi) bağımsız bir Power Automate premium lisansı gerektirir.
Evet, ancak bazı kısıtlamalarla. Office Komut Dosyalarını (Microsoft'un TypeScript ile yazılmış VBA'ya modern ve bulut tabanlı alternatifi) çalıştırmak için Power Automate'te "Komut dosyası çalıştır (Run script)" eylemini kullanabilirsiniz. Ancak karmaşık bir şirket içi veri ağ geçidi (on-premises data gateway) kullanmadan geleneksel `.xlsm` VBA makrolarını doğrudan buluttan tetikleyemez.
Farklı tetikleyicilerin farklı yoklama (polling) aralıkları vardır. Bazı tetikleyiciler (bir düğmeye basılması veya bir HTTP isteği gibi) anında çalışırken, Microsoft 365 lisans katmanınıza bağlı olarak, yoklama tetikleyicilerinin ("Yeni bir dosya oluşturulduğunda" veya "Bir e-posta geldiğinde" gibi) olayı tanıması birkaç dakika sürebilir.
Evet! Power Automate sadece Microsoft ekosistemiyle sınırlı değildir. Tıpkı Excel Online'da olduğu gibi Google Workspace'te satır eklemenize, satır almanıza ve verileri güncellemenize olanak tanıyan tam destekli bir Google E-Tablolar (Google Sheets) bağlayıcısı mevcuttur.
Power Automate ile VBA olmadan Excel görevlerinizi nasıl otomatikleştireceğinizi keşfedin. Olay tetiklemeli akışlar oluşturmayı, verileri işlemeyi ve diğer uygulamaları bağlamayı öğrenin.
Excel'de VBA kullanarak otomatik raporlama sistemlerini nasıl kuracağınızı keşfedin. Adım adım kodlarla veri çekmeyi, formül eklemeyi, hücreleri biçimlendirmeyi ve raporları dışa aktarmayı öğrenin.
Excel'de VBA ile programlamaya başlayın. Geliştirici sekmesini, değişkenleri, döngüleri, koşulları ve sıfırdan ilk makronuzu nasıl yazacağınızı öğrenin.