Bu yazımızda sizlere Bağlantılı Veri Türleri ile kullanılan FIELDVALUE Fonksiyonu hakkında bilgi veriyor olacağız. Hisse Senetleri veya Coğrafya veri türleri gibi bağlantılı veri türlerinden alan verilerini almak için FIELDVALUE fonksiyonunu kullanabilirsiniz.
Veri türlerine başvuran formüller yazmanın daha kolay yöntemleri vardır, bu nedenle FIELDVALUE fonksiyonu ağırlıklı olarak bağlantılı veri türlerini temel alan koşullu hesaplamalar oluşturmak için kullanılmalıdır.
YAZIM KALIBI / SÖZ DİZİMİ
Bu fonksiyon bizden 2 argüman ister.
İki argümanın da girilmesi gereklidir.
FIELDVALUE fonksiyonunun söz diziminde aşağıdaki bağımsız değişkenler bulunur:
değer – Bağlantılı veri türünü içeren hücre adresi, tablo sütunu veya adlandırılmış aralık.
alan_adı – Bağlantılı veri türünden ayıklamak istediğiniz alanın veya alanların adı.
Açıklama
FIELDVALUE işlevi, değer bağımsız değişkeninde belirtilen bağlantılı veri türünden tüm eşleşen alanları döndürür.
FIELDVALUE işlevi, Arama ve Başvuru işlev ailesinin bir parçasıdır.
Örnekler
Aşağıdaki temel örnekte =FIELDVALUE(A2; “Area”) formülü Turkey için Coğrafya veri türünden Area alanını ayıklar.
Bir de şehirlerle ilgili dinamik alan seçimine göre ilgili alandaki verilerini listeletelim.
Notlar
Var olmayan bir veri türü alanından veri almaya çalışırsanız, FIELDVALUE işlevi #ALAN! hatası döndürür. Örneğin, asıl veri türü alanının adı “Area” olmasına rağmen siz alan adı olarak “Alan” girmiş olabilirsiniz. Geçerli bir alan adı kullandığınızdan emin olmak için formülü bir kez daha denetleyin. Kaydın alan adlarının listesini görüntülemek istiyorsanız, kaydın bulunduğu hücreyi seçin ve Ctrl+Shift+F2 tuşlarına basın.
Dilerseniz daha detaylı bilgiye Microsoft Support‘tan da erişebilirsiniz.
Diğer yazılarımızda görüşmek üzere, hoşça kalın. 🙋🏻♂️
Bu yazımızı çevrenizle paylaşarak birçok kişinin de bilgi sahibi olmasını sağlayabilirsiniz. 👍🏻
Aylık tüm Office insider yenilik ve düzeltmeleri (güncellemeleri) bloğumuzda bulabilir ve takip edebilirsiniz. 👍🏻 Office insider devamlı olarak güncellemeler ve yenilikler ekliyor, bu yeniliklerin takip edilmesi ve mümkünse uygulanabilmesi bilginizi artırmanız açısından önemli. Haydi şimdi Mart ayında Office insider ‘da ne gibi yenilikler olmuş onlara bir göz atalım.
28 Mart 2020
Outlook
Outlook Takvim’i yenilendi
Geçen yıl başarıyla posta deneyimin yenilenmesinden sonra, makyaj sırası takvime geldi. Geri bildirimleriniz sayesinde, sizin gibi deneyimli Outlook kullanıcıları hemen daha üretken olabilsin diye, yeni ama tanıdık gelecek güncelleştirmeler yapıldı.
Güncelleştirmelerden bazılarına göz atmak için aşağıdaki ekran görüntüsünü gözden geçirin: kalın üstbilgiler, takvim renkli ana hatlar, yeni bir saat göstergesi çubuğu ve rozetler.
Yanlış URL’lere sahip bağlantılı resimleri işlerken, kullanıcıların gecikmeler yaşadıkları bir sorun düzeltildi.
Taslak e-postalarda yapılan son değişikliklerin güncellenmemesiyle ilgili bir sorun düzeltildi.
Bir dosyaya sağ tıklayıp Gönder’in seçilememesiyle ilgili sorun düzeltildi.
Kullanıcının, Adres defteri için özelleştirilmiş bir arama yolu olması durumunda, Outlook’un ad çözümleme kapsamının Genel Adres Listesi’ni içermek yerine, özelleştirilmiş arama yoluyla sınırlı kalması sorunu düzeltildi.
Geri dönen bir dizi arama sonucu içinde, sonuçların Kategorilere göre sıralanması işleminin kategori renklerini göstermemesi sorunu düzeltildi.
PowerPoint
Sunum yaparken değişiklikleri eşitleme
Yıllardır PowerPoint, sunucunun içerik üzerinde tam denetime sahip olduğundan emin olmak için, sürmekte olan bir sunu varken slaytlara hiçbir değişikliğin kaydedilmesine izin vermedi. İşbirliği ve gerçek zamanlı güncelleştirmelere artan odak ile, müşteriler nerede yapılırsa yapılsın, sunu Slayt Gösterisi modundayken bile değişikliklerin kaydedilmesini istedi.
2. Slayt Gösterisi sekmesindeki uygun düğmeyi seçerek sunuyu başlatın.
3. Slaytta bir güncelleştirme yapıldığında ve algılandığında, Sunucu Görünümü’nün en üstünde Slaytları Güncelleştir düğmesi gösterilir.
4. Slayt içeriğini elle eşitlemek için Slaytları Güncelleştir düğmesine tıklayın.
Word
Önemli düzeltmeler
Açıklama gönderme işlevinin devre dışı bırakıldığı bir sorun düzeltildi.
Yanlış URL’lere sahip başlantılı resimleri işlerken, kullanıcıların gecikmeler yaşadıkları bir sorun düzeltildi.
Hesap yöneticisinin iletileri göndermemesine ve üçüncü taraf uygulamaların donmasına neden olan bir sorun düzeltildi.
İçindekiler Tablosu’un, belgede yer almayan başlık stillerine güncelleştirmeler alması sorunu düzeltildi.
Word belgelerinde kaydedilen dijital imzaların, belgeleri gönderirken kaldırılmasına neden olan bir sorun düzeltildi.
Excel
Önemli düzeltmeler
Yanlış URL’lere sahip başlantılı resimleri işlerken, kullanıcıların gecikmeler yaşadıkları bir sorun düzeltildi.
Proje
Dikkate değer düzeltmeler
Gerçekleştirilen Çalışma Fiili Maliyet en son değerlerinin, tarih değişikliği gibi bir düzenleme yapıldıktan sonra görüntülenmemesi sorunu düzeltildi.
En Son Kullanılanlar menüsünü kullanarak bir proje açmanın, proje dosyasını Okuma/Yazma erişimiyle açması sorunu düzeltildi.
Elle oluşturulmuş bir görev, başlangıç tarihi ve zamanı olup, süresi olmadan oluşturulduğunda zaman çizelgesinde yanlış bir zamanla gösterilmesi sorunu düzeltildi.
Bir zaman çizelgesi Hicri takvim kullanarak yazdırıldığında, yazdırma görünümünde bir ayın atlanması veya yinelenmesine neden olan sorun düzeltildi.
Ekip Planlayıcı’da GDI nesneleriyle çalışırken, GDI nesnelerine fazla yer ayrılması ve yetersiz bellek durumlarının oluşması sorunu düzeltildi.
Bir kullanıcı görev seçtikten sonra, Zamanlama grubundaki Devre Dışı Bırak düğmesine tıklandığında “ProjectBeforeTaskChange” olayının açılmaması ile ilgili bir sorun düzeltildi.
“ProjectBeforeTaskChange” olayının, Form türü görünümünde yapılan değişikliklerini her zaman kaydetmemesi sorunu düzeltildi.
13 Mart 2020
Word, Excel,PowerPoint ve Outlook
Duyarlılık etiketi uygulama
Artık sizden özel izinler istemek üzere kuruluşunuzun yapılandırdığı duyarlılık etiketini uygulayabilirsiniz. Duyarlılık etiketleri kuruluşunuzun verilerini sınıflandırmanıza ve korumanıza olanak tanırken, üretkenliğinizin ve işbirliği yapma becerinizin engellenmemesini de sağlar.
Nasıl erişilir
Kuruluşunuz Microsoft Bilgi Koruması’nda Duyarlılık etiketleri ayarladıysa ve kullanıcıların izinler atamasını etkinleştirdiyse, bunlara erişebilirsiniz. Örneğin, Giriş > Koru’yu seçin, sonra da belgeye, çalışma kitabına, sunuya veya e-postaya uygulamak istediğiniz etiketi seçin.
Outlook
Dikkate değer düzeltmeler
Dosya bir ek olarak iliştirildiğinde veya ek sürükleyip bırakma yöntemiyle kaydedildiğinde, dosyanın “son değiştirme” tarihinin güncelleştirilmesine neden olan sorun düzeltildi.
Arama başlatmak için kullanıcıların genişletilmiş Bul bölmesinde ENTER tuşuna basmasını engelleyen sorun düzeltildi.
Mevcut olduğunda kullanıcı fotoğraflarını göster onay kutusu temizlendiğinde aramanın kullanıcılar hakkında hiç bilgi göstermemesi sorunu düzeltildi.
Word
Önemli düzeltmeler
Açıklama yazdıktan veya düzenledikten sonra Ctrl+A tuşlarına basıldığında açıklama kartındaki metin yerine tuvaldeki metnin seçilmesine yol açabilen sorun düzeltildi.
Belge içeriği Hızlı Yazdır kullanılarak yazdırıldıktan sonra içeriğin hizalamasının bozulmasına neden olan sorun düzeltildi.
Kullanıların iki belgeyi tek belge halinde birleştirmesini engelleyen sorun düzeltildi.
Denklemler içeren ve değişikliklerin izlendiği bir belgenin kaydedilememesi sorunu düzeltildi.
Excel
Önemli düzeltmeler
Kullanıcılar geniş bir hücre aralığını programlama yoluyla düzenlerken gecikmelere neden olan sorun düzeltildi.
Kullanıcılar Japonca ortamlarda CSV dosyalarını açarken gecikmelere neden olan sorun düzeltildi.
Proje
Önemli düzeltmeler
Özet görev tarihlerinin her zaman düzgün hesaplanmaması sorunu düzeltildi.
Önce OpenUndoTransaction yöntemi çalıştırılmadığı sürece OnUndoOrRedo olayının çalıştırılmaması sorunu çözüldü.
Access
Önemli düzeltmeler
Access’in uluslararası sürümlerinde kullanıcı arabiriminde İngilizce dizelerin gösterilmesi sorunu düzeltildi.
PowerPoint
Yeni özellikler
Yukarıya bakın.
10 Mart 2020
Excel,Word,PowerPoint veOutlook’tamükemmel rengi seçin
Office insider olarak sesinize kulak verdik! Onaltılık renklerin RGB değerlerine dönüştürülmesi artık geçmişte kaldı. Renk belirleyebileceğiniz herhangi bir öğe için, şeritteki doğru düğmeye tıklayın (Yazı Tipi Rengi düğmesi gibi) ve Daha Fazla Renk’e tıklayın. Ardından Renkler iletişim kutusunda Özel sekmesine tıklayın ve Onaltılık kutusuna #0F4C81 veya 444 gibi bir Onaltılık renk değeri girin.
Olası bir hisse senedine veya coğrafi konuma benzeyen bir veri değeri yazdığınızda, Excel bunu uygun bağlantılı veri türüne (Hisse Senedi veya Coğrafya) dönüştürme seçeneği sunar. Mutlaka deneyin!
Bir sütunda ayrı ayrı hücrelere çeşitli coğrafi konumlar (“İstanbul”, “Londra” veya “Tel Aviv”) ya da hisse senedi bandı simgeleri (“MSFT”, “ADBE” veya “AAPL”) yazın.
Seçilen hücrenin sağında Coğrafyaya Dönüştür veya Hisse Senedine Dönüştür seçeneği görüntülendiğinde buna tıklayın.
* Bu özellik şu anda yalnızca İngilizce sunulur.
Outlook
E-postaları sahibi olduğunuz bir gruba sürükleme
Grup sahibi olarak, iletileri ve yazışmaları artık kendi posta kutunuzdan grupların posta kutusuna sürükleyip bırakarak taşıyabilir ve kopyalayabilirsiniz. Taşınan içerik tüm grup üyeleri tarafından görülebilir; herkes iletileri okuyabilir ve konuşmaya katılabilir.
Outlook’taki Arama deneyimi iyice geliştirildi! Artık hiç olmadığı kadar güvenli, akıllı ve hızlı. Ayrıca artık tüm arama girdilerinde yazım denetimi yapılıyor ve hata algılanırsa yararlı öneriler sunularak aradığınız sonuçları bulmanız sağlanıyor. Son olarak, en uygun arama sonuçlarına hızla erişebilmeniz için bunlar sonuç listesinin en üstünde gösteriliyor.
PowerPoint
Diyagramlar bağlayıcı desteği alıyor
Artık nesneler arasındaki dönüştürülmüş çizgiler, şekillere sabitlenen bağlayıcılar oldu.
Mürekkep dönüştürme işlemi de kolaylaştı. “Mürekkebinizi dönüştürün düğmesine” tıklamanız yeterli. Dönüştürmenin ihtiyaçlarınıza uyduğundan emin olmak için, dönüştürülen nesneyi yeniden seçerek diğer dönüştürme alternatiflerine erişebilirsiniz. Mutlaka deneyin! Mutlaka deneyin!
6 Mart 2020
Outlook
Önemli düzeltmeler
Başka bir uygulama açık olduğunda, kullanıcıların e-posta iletilerine dosya eklemelerini engelleyen bir hata düzeltildi.
Outlook Web Access’te bir kural oluşturulurken Exchange sunucusunda kalıcı olmayan ve çakışmaya neden olan bir sorun düzeltildi.
Outlook’un, koyu mod kullanılırken “Kimden” alanında açılan listeyi göstermemesi sorunu düzeltildi.
Word
Önemli düzeltmeler
Kullanıcı Asıl Adı’nı (UPN) insanlar için büyük/küçük harfe duyarlı hale getiren bir sorun düzeltildi. Örneğin; [email protected], [email protected] ile eşleşmiyor ve kullanıcıların SharePoint Siteleri hizmetlerine ulaşmalarını engelliyordu.
Bir belge düzenleme korumalı olduğunda, Karşılaştır özelliğinin çalışmasını engelleyen bir sorun düzeltildi.
PowerPoint
Önemli düzeltmeler
Kullanıcı Asıl Adı’nı (UPN) insanlar için büyük/küçük harfe duyarlı hale getiren bir sorun düzeltildi. Örneğin; [email protected], [email protected] ile eşleşmiyor ve kullanıcıların SharePoint Siteleri hizmetlerine ulaşmalarını engelliyordu.
Farenizi üzerine getirdiğinizde, önerilen küçük resimlerin parlaması sorunu düzeltildi. Bu, bazı durumlarda PowerPoint’in çökmesine neden oluyordu.
Excel
Önemli düzeltmeler
Kullanıcı Asıl Adı’nı (UPN) insanlar için büyük/küçük harfe duyarlı hale getiren bir sorun düzeltildi. Örneğin; [email protected], [email protected] ile eşleşmiyor ve kullanıcıların SharePoint Siteleri hizmetlerine ulaşmalarını engelliyordu.
Office insider ‘da Mart ayında gelen tüm yenilik ve güncellemeleri sizler için derledik.Diğer yazılarımızda görüşmek üzere, hoşça kalın. 🙋🏻♂️
Bu yazımızı çevrenizle paylaşarak birçok kişinin de bilgi sahibi olmasını sağlayabilirsiniz. 👍🏻
Bu yazımızda, herhangi bir kod gerektirmeden Excel‘de ihtiyaca Özel Menü nasıl oluşturulur ondan bahsedeceğiz. Diğer özelliklerle ilgili yazılarımızı da yine blog sayfamızda bulabilirsiniz.
ÖZEL MENÜ OLUŞTURUN RAHAT EDİN
Bildiğiniz üzere Excel‘de Dosya menüsüyle başlayıp Yardım menüsüne kadar birçok menü ve o menülerde onlarca özellikler mevcut. Bazen ihtiyacımız olan özellik hangi menüdeydi diyebiliyoruz ya da menülerde hiç kullanmadığımız özellikler bulunabiliyor. Bazen de insan biraz değişiklik istiyor. 😃.. Tüm bu durumların önüne geçmek adına, isterseniz kendi özel menü ‘nüzü oluşturup istediğiniz menü sıralamasına da getirebilir ve bütün işlerinizi o menüden halledebilir hâle gelebilirsiniz. Üstelik bu işlemi gerçekleştirmek için herhangi bir UI Editör‘e ihtiyacınız yok.
NEREDEN BAŞLAYALIM?
Özel menü oluşturmak için Excel Seçeneklerindeki Şeridi Özelleştir alanına gitmemiz gerek. Oraya ulaşmak için iki yolumuz var.
1’nci yol;
Dosya
Seçenekler
Şeridi Özelleştir
2’nci yol;
Hızlı Erişim Araç Çubuğunu Özelleştir
Diğer Komutlar
Şeridi Özelleştir
Her iki yoldan da ulaşacağım penceremiz burası olacak.
Bu pencereye gelip hemen Yardım menüsünü seçip Yeni Sekme butonuna basarak yeni bir sekme/menü oluşturalım.
Yeni Sekme (Özel) ‘i seçip “Yeniden Adlandır“a basarak oluşacak bu yeni menümüze bir isim verelim. Örneğin PEAKUP yazalım. “Yeni Grup“u da seçip ona da isim olarak ekleyeceğiniz özelliklere göre bir isim verebilirsiniz. Şimdilik Veri Analizi diyebiliriz.
Artık oluşturduğumuz bu menüye, veri analizi ile ilgili en sık kullandığımız özellikleri/komutları ekleyebiliriz.
Dilerseniz buraya kadar anlatılanları aşağıdaki görseldeki gibi tekrar edip uygulayabilirsiniz.
Eğer Veri Analizi grubunun üzerinde sağ tıklayıp Komut Etiketlerini Gizle seçeneğini seçerseniz.
Komutlarınız menüde bu şekilde mini komut olarak görünecektir.
Bu şekilde Yeni Gruplar oluşturarak, bir menüde birden fazla grup ekleyebilirsiniz, ya da Yeni Sekme butonuyla Yeni Menüler oluşturabilir ve bu menüyü Dosya menüsünden sonraki ilk sırada konumlandırabilirsiniz.
Bence bir süre bu şekilde menüler oluşturup deneyin derim.. 😄 Daha fazla detay için Microsfot Docs’taki bu bağlantıya bakabilirsiniz.
Diğer yazılarımızda görüşmek üzere, hoşça kalın. 🙋🏻♂️
Bu yazımızı çevrenizle paylaşarak birçok kişinin de bilgi sahibi olmasını sağlayabilirsiniz. 👍🏻
Bu yazımızda, Excel’de Hücreyi resim olarak kopyalama yöntemlerinini aktarıyor olacağız. Bu işlem için kullanabileceğimiz üç yöntem bulunuyor. Yazımızda bu yöntemleri ve önerilerimizi göreceksiniz. Blog sayfamızda bu gibi birçok özelliği bulabilirsiniz, takip etmeyi ihmâl etmeyin. 👍🏻
NEDEN İHTİYAÇ OLUR?
Tablomuzdaki bir aralığın görüntüsünün kopyasını bazen resim olarak diğer office uygulamalarına ya da herhangi bir uygulamaya aktarmak isteyebiliyoruz. Örneğin; seçilen tablo aralığını kopyalayıp Outlook, Word vb. office uygulamalarına direkt yapıştır dediğimizde tablo olarak yapıştıracaktır. Bu şekilde tablonun üzerinde değişikliğe müsait olduğu için aslında hücreyi resim olarak kopyalama ya da kopyalanan veriyi resim olarak yapıştırmak daha uygun bir ilerleyiş olacaktır.
HÜCREYİ RESİM OLARAK KOPYALAMA YÖNTEMLERİ
İlk yöntemimiz; Giriş
menüsündeki Pano grubu içerisindeki Resim Olarak Kopyala seçeneğinden.
İkinci yöntemimiz; hücre aralığını seçip kopyaladıktan sonra Özel Yapıştırma Seçeneklerinden Resim seçeneğini seçerek.
Bu şekilde resim olarak yapıştırdığınızda, kopyaladığınız hücredeki veriler değiştiğinde resim üzerindeki verilerde bir değişiklik olmaz. Fakat özel yapıştırma seçeneklerindeki Bağlı Resim / Köprülü Resim olarak yapıştırdığınızda kopyaladığınız hücre aralığındaki verilerde bir değişiklik yaptığınızda, resim üzerinde de bağlı olduğu hücrelerin görüntüsünün değiştiğini görebilirsiniz. Bu bize dinamik bir görüntü sağlayacaktır.
Aynı şekilde başka bir Office uygulamasında, özel yapıştırma seçeneklerinden Bağlantılı Yapıştır seçeneğini seçerek de, Excel‘de kopyaladığınız veri aralığında bir değişiklik yapıldığında Word ve PowerPoint gibi diğer Office uygulamalarında da değişikliği aynı anda görüntüleyebilirsiniz.
Şimdi Bağlı Resim olarak yapıştırmaya bir örnek verelim. Kopyalanan tablodaki bir hücredeki veriyi değiştirdiğimizde resim üzerinde de değişikli olduğunu göreceksiniz.
Üçüncü yöntemimiz; Excel’deki Kamera özelliğini kullanarak, seçilen hücre aralığının resmini çekip yapıştırmak istediğimiz hücreyi seçerek hafızadaki resmin o hücreye aktarılmasını sağlayabiliriz. Bunun için Hızlı Erişim Araç Çubuğuna Kamera özelliğini şu yolla ekleyerek kullanabilirsiniz.
Dosya
Seçenekler
Hızlı Erişim Araç Çubuğu
Şeritte Bulunmayan Komutlar
Kamera
Ekle
Tamam
Bu işlemleri gerçekleştirdikten sonra Hızlı Erişim Araç Çubuğunda bu şekilde Kamera ikonunu göreceksiniz. Kamera özelliğinin her zaman orada olmasını öneririm.
Şimdi bu özelliği kullanarak hücreyi resim olarak kopyalama ve yapıştırma işleminin ne kadar kolay olduğunu görelim.
Sizlere aktarmış olduğumuz bu üç yöntemle hücre aralığını resim olarak kaydedebilirsiniz. Dilerseniz Microsoft Support sayfasından da ilave bilgiler edinebilirsiniz.
Diğer yazılarımızda görüşmek üzere, hoşça kalın. 🙋🏻♂️
Bu yazımızı çevrenizle paylaşarak birçok kişinin de bilgi sahibi olmasını sağlayabilirsiniz. 👍🏻
Bu yazımızda, birçok kullanıcının ihtiyacı olduğunu bildiğim, Excel Eğitimlerinde de nasıl yapabiliriz denilen bir konuyu sizlere aktarıyor olacağım. Vakit kaybetmeden Excel ile Outlook üzerinden toplu mail nasıl gönderebiliriz ona biraz bakalım.
Öncelikle Excel ile Outlook üzerinden toplu mail gönderme işini VBA‘nın, yani herkesin bildiği isimle makroların gücüyle yapıyor olacağız. O yüzden az biraz makro bilginiz olursa iyi olur fakat konuyu basit anlatacağım ve birçok kod satırı klişe olduğundan, makro bilginizin olması çok da şart değil diyebilirim. Ayrıca her bir kod satırının da ne anlama geldiğini belirtmiş olacağım. Önce tüm kodları size vereceğim. Sonra da tek tek o kodların açıklamalarını yapacağım. Çok daha geliştirilebilir elbette fakat şu an için basit bir şekilde toplu mail nasıl gönderilir onu aktarıyor olacağım. İlaveten yazının sonunda uygulama örnek dosyasını da ekleyeceğim.
Hadi başlayalım. 👍🏻
İlk etapta şöyle bir tablomuz olduğunu varsayıyorum. Gönder butonuna bastığımızda 2. satırdan başlayarak son satıra kadar tüm mailleri göndermesini sağlayacağız.
Excel ile OUTLOOK Üzerinden Toplu Mail Gönderme – TÜM KODLAR
Sub PEAKUP_Mail_Gonder()
Dim Outlook As Object, yeni As Object, i As Long
Set Outlook = CreateObject("Outlook.Application")
For i = 2 To Cells(Rows.Count, "A").End(3).Row
Set yeni = Outlook.CreateItem(0)
With yeni
.To = Range("B" & i).Value
.Subject = Range("C" & i).Value
.Body = Range("D" & i).Value
.Display
'.Send
End With
Next i
Set Outlook = Nothing: Set yeni = Nothing: i = Empty
MsgBox "E-Mailleriniz gönderilmiştir.", vbInformation, Application.UserName
End Sub
Evet.. ihtiyacımız olan kodlar aslında bu kadar. Şimdi her bir kod satırının ne iş yaptığına geçelim. Yukarıda da belirttiğim gibi, aslında yukarıdaki tüm kodları bir kalıp/klişe olarak düşünebilirsiniz. Bu kodları alıp, kime, konu ve açıklama kısımlarını sizin dosyanıza göre uyarlamanız yeterli olacaktır.
Sub PEAKUP_Mail_Gonder()
Makromuza/Prosedürümüze PEAKUP_Mail_Gonder ismini veriyoruz.
Dim Outlook As Object, yeni As Object, i As Lon
Kullanacağımız değişkenlerimizi tanımlıyoruz. Değişken tanımlamak zorunlu değil fakat faydalıdır diyebiliriz. Detayları değişkenler ve tanımlama yöntemleri yazımızda aktarıyor olacağım.
Set Outlook = CreateObject("Outlook.Application")
Late Binding
metodu ile Outlook uygulamasını oluşturuyoruz. (İki metot var; Early Binding ve Late Binding)
For i = 2 To Cells(Rows.Count, "A").End(3).Row
2. satırdan A sütunundaki dolu olan son satır numarasına kadar bir For döngüsü oluşturuyoruz. Teker teker tüm satırlardaki adreslere mail göndermesi için kullanıyoruz.
Set yeni = Outlook.CreateItem(0)
Outlook
‘ta Yeni butonuna basar gibi, set ederek yeni bir mail oluşturulmasını sağlıyoruz.
With yeni
Aşağıdaki kodlar Yeni oluşturulan maildeki alanları ifade ettiği için, her seferinde yeni kelimesini yazmamak adına bir kereliğine With yeni diyerek altındaki satırların yeni ile ilgili olduğunu belirtiyoruz ve alttaki kodlarda dikkat ederseniz .To – .Subject şeklinde devam eder. Yani hepsi Yeni oluşturulan mail ile ilgili satırlar.
.To = Range("B" & i).Value
Kime mail göndereceğimizi belirtiyoruz. Burada B sütunundakilere gideceğini belirttik.
.Subject = Range("C" & i).Value
Konunun ne olacağını belirtiyoruz. Konular C sütunundakiler demiş olduk.
.Body = Range("D" & i).Value
Mail gövdesine de D sütunundakileri yazmasını istiyoruz.
.Display
Maili göndermeden önce ekrana getirip görüntülemenizi sağlar.
.Send
Maili gönderir.
End With
With
deyimini End With ile mutlaka kapatıyoruz.
Next i
Döngüde bir sonraki satıra geçmesini söylüyoruz.
Set Outlook = Nothing: Set yeni = Nothing: i = Empty
Oluşturulan değişkenlerin içlerini boşaltıyoruz. Şart değil fakat hafızada yer kaplamaması için bu şekilde belirttik.
MesajBox (MsgBox) ile mail gönderiminin bittiğini belirten bir bilgi penceresi alıyoruz.
End Sub
Makromuzu/Prosedürümüzü sonlandırıyoruz.
MAİLE EK BİLGİLER EKLEMEK
Dosya Eklemek
İsterseniz mail gönderirken, bilgisayarınızdaki herhangi bir konumda bulunan dosyayı da bu kodlarla maile eklenmesini sağlayabilirsiniz. Aşağıdaki kod satırını, .To – .Subject ifadelerinin altına yazabilirsiniz.
kullanıp mesaj gövdesine düz bir metin yazmak yerine isterseniz .HtmlBody yazarak html tagları ile mesaj gövdesindeki metni düzenleyebilir, görselleştirebilirsiniz.
Örneğin;
.HTMLBody = "
“CC ve BCC EklemekEğer göndereceğiniz maile başka kişileri de CC veya BCC ‘ye koymak isterseniz. Kodlardaki .To satırının altına bu kodları ilave edebilirsiniz..CC = “CC ‘ye eklenecek mail adresi .BCC = “CC ‘ye eklenecek mail adresiMail Önceliği BelirlemekMailinizi yüksek öncelikli olarak göndermek isteyebilirsiniz o zaman da bu kod satırını ilave edebilirsiniz..Importance = 2
Evet.. şimdiye kadar yazdıklarımı inceleyip öğrendiysek artık uygulayabiliriz. 😃
Kodları çalıştırdığımızda aşağıdaki gif resimdeki gibi tüm adreslere hızlı bir şekilde mailler gönderilecektir. Not: Kodlardaki .Display yerine .Send ‘i aktif ederseniz, maili görüntülemeden direkt olarak gönderir.
Uygulama dosyasını buradan 👉🏻 indirebilirsiniz.
Başka bir örneği de bu adreste bulabilirsiniz.
Diğer yazılarımızda görüşmek üzere, hoşça kalın. 🙋🏻♂️
Bu yazımızı çevrenizle paylaşarak birçok kişinin de bilgi sahibi olmasını sağlayabilirsiniz. 👍🏻
[vc_row][vc_column][vc_column_text]Bu yazımızda, Tarih ve Saat fonksiyonlarından, günlük hayatta birçok işimize yarayabilecek bir fonksiyon olan HAFTANINGÜNÜ Fonksiyonu ‘ndan bahsedeceğim. Bu fonksiyon bize; belirli bir tarih için haftanın gününü temsil eden sayıyı döndürür. Yani 1 ile 7 arasında bize bir sayı değeri verir ki; biz o sayıdan belirtilen tarihin kendi haftası içerisindeki kaçıncı gün olduğunu bilelim ve ona göre işlemler yaptıralım. Dilerseniz Haftanıngünü Fonksiyonu ile ilgili detaylara support office ‘den de erişebilirsiniz. Diğer fonksiyonlarla ilgili yazılarımızı da yine blog sayfamızda bulabilirsiniz.
HAFTANINGÜNÜ FONKSİYONU NE İŞE YARAR
HAFTANINGÜNÜ fonksiyonu ; belirtilen tarihin kendi haftası içerisindeki kaçıncı gün olduğunu verir ve ona göre işlemler yaparız. Örneğin; bir sütundaki tarihlerin hangileri hafta sonuna denk geliyorsa onlar renkli görünün isteyebiliriz. Ya da sütundaki ödeme tarihleri hangi güne denk gelirse gelsin, sizin ödeme gününüz Cuma günü ise tüm tarihleri kendi haftasındaki Cuma gününe ayarlayabilirsiniz.
YAZMA FORMU
Haftanıngünü Fonksiyonu ‘nda 2 argüman bulunuyor.Bunlardan 1. si gerekli, diğer argüman da opsiyonel/isteğe bağlıdır.Şimdi bu argümanların anlamlarına, yani fonksiyonun bizden ne isteğine ve bizim ona ne vereceğimize bakalım.
ÇALIŞMA KOŞULLARI
Haftanıngünü fonksiyonu ‘nun çalışma koşulları bu şekildedir;
Microsoft Excel, hesaplamalarda kullanılabilmeleri için tarihleri sıralı seri numaraları olarak saklamaktadır. Varsayılan olarak, 1 Ocak 1900’ün seri numarası 1’dir; 1 Ocak 1900’den 39.448 gün sonra olması nedeniyle 1 Ocak 2008’in seri numarası 39448’dir.
Geçerli tarih taban değeri için seri_no aralık dışındaysa #SAYI! hatası verilir.
Döndür_tür yukarıdaki tabloda belirtiler aralığın dışındaysa #SAYI! hatası verilir.
Takvim özelliği ayarı Gregorian ise, döndürülen tam sayı tarih argümanı için haftanın Gregorian gününü temsil eder. Takvim Hicri ise, iade edilen tam sayı, tarih argümanı için haftanın Hicri gününü temsil eder. Hicri tarihleri için, argüman numarası 1/1/100 (Gregorian Aug 2, 718) ‘den 4/3/9666 (Gregorian Dec 31, 9999)’ a kadar bir tarihi ve/veya zamanı temsil edebilen herhangi bir sayısal ifadedir.
HAFTANINGÜNÜ FONKSİYONU KULLANIMI
Haftanıngünü Fonksiyonu ‘nda öncelikle seri_no argümanı için gün sayısını almak istediğimiz tarihi seçiyoruz, sonrasında döndür_tür argümanında da geriye döndürmesini istediğiniz türü seçiyoruz, orada haftanın ilk günü ile son günlerinin belirtildiği seçenek listesi karşımıza gelir, bizim için geçerli olan 2 sayısının olduğu, 1. gün pazartesi, 7. gün pazar olan seçenektir. Yani; döndür_tür argümanı için de 2 seçeneğini seçip formülü tamamlıyoruz.
HAFTA SONUNA DENK GELEN TARİHLERİ RENKLENDİRMEK
Bir sütunda Mart ayına ait tarihlerin olduğu bir liste varsayalım. İlk bakışta o tarihlerin hangi güne denk geldiklerini bilemeyiz. O sütunu seçip Giriş menüsündeki Sayı gurubundan Biçim olarak Uzun Tarih’i seçerseniz gün adını size verecektir ve belki de bu işinize yarayacaktır, fakat bizim istediğimiz bize bir gün adını vermesi değil, hangi tarihler hafta sonu ise o tarihlerin renkli biçimde gösterilmesidir. Bunu Koşullu Biçimlendirme özelliğinde Haftanıngünü Fonksiyonu ‘nu kullanarak kolayca yapabiliriz. Renkler, bir veriyi analiz etmemizde oldukça faydalıdır..
Hadi örneklerimize başlayalım. Siz de benimle beraber adım adım uygulayın. Koşullu Biçimlendirme özelliğinde bu istediğimiz işi yapan hazır bir kural maalesef mevcut değil. O zaman ne yapıyoruz? Kendi kuralımızı formülle oluşturup , o kurala göre renklenmesini sağlıyoruz.. Hafta sonlarını bulup bu şekilde renklendirebilirsiniz.
ÖDEME TARİHİNİ CUMA GÜNÜNE AYARLAMA
Bir örnek de ödeme tarihini Cuma gününe ayarlama ile ilgili yapalım.Bu işlem için ELEMAN ve HAFTANINGÜNÜ fonksiyonu ‘nu bir arada kullanacağız.Sizler de bunu uygulayıp, birkaç kez tekrar ederek mantığını anlamaya çalışın.
Diğer yazılarımızda görüşmek üzere, hoşça kalın. 🙋🏻♂️ Bu yazımızı çevrenizle paylaşarak birçok kişinin de bilgi sahibi olmasını sağlayabilirsiniz. 👍🏻[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][mk_image src=”https://peakup.org/wp-content/uploads/2023/12/office_imza_son.gif” image_size=”full”][/vc_column][/vc_row]
[vc_row][vc_column][vc_column_text]Bu yazımızda yeni dinamik dizi fonksiyonlarından Rasgdizi Fonksiyonu ‘ndan bahsedeceğim. Bazen rastgele verilerle doldurulmuş bir veri tablosuna ihtiyacımız olur. Bu fonksiyonla istediğiniz satır ve sütun sayısınca sayısal verileriniz hızlıca doldurabilirsiniz. Diğer fonksiyonlarla ilgili yazılarımızı da yine blog sayfamızda bulabilirsiniz.
NE İŞE YARAR
Rasgdizi Fonksiyonu
; belirtilen satır ve sütun sayısınca, yine belirtilen minimum ve maksimum sayı arasında ondalıklı veya tam sayılardan oluşan rastgele sayı dizisi elde etmenizi sağlar. Argüman girmeden fonksiyonu tamamlarsanız 0 ile 1 arasında ondalıklı bir sayı döndürür. Örneğin; 20 satır ve 5 sütundan oluşan 50 ile 500 arasına tam sayıların olduğu bir tabloyu birkaç saniye ile hızlıca oluşturabilirsiniz. Aşağıda örneğini göreceksiniz.
YAZIM KALIBI
Fonksiyonda 5 argüman bulunuyor.Bu 5 argüman da opsiyonel/isteğe bağlıdır.Şimdi bu argümanların anlamlarına, yani fonksiyonun bizden ne isteğine ve bizim ona ne vereceğimize bakalım.
ÇALIŞMA KOŞULLARI
Satır veya sütun bağımsız değişkeni girmezseniz Rasgdizi fonksiyonu 0 ile 1 arasında tek bir değer döndürür.
Minimum veya maksimum bağımsız değişkenini girmezseniz RASGDİZİ varsayılan olarak sırasıyla 0 ve 1’i alır.
Minimum bağımsız değişkeni maksimumdan küçük olmalıdır; aksi takdirde RASGDİZİ #DEĞER! hatasını döndürür.
Tamsayı bağımsız değişkenini girmezseniz RASGDİZİ varsayılan olarak YANLIŞ veya ondalık değer kullanır.
RASGDİZİ fonksiyonu bir dizi getirir; dizi bir formülün nihai sonucuysa yan hücrelere geçer. Yani, ENTER tuşuna bastığınızda, Excel uygun boyutta bir dizi aralığını dinamik olarak oluşturur. Destek verileriniz bir Excel tablosundaysa, yapılandırılmış başvurular kullanıyorsanız dizi aralığınıza veri eklediğinizde veya dizi aralığınızdan veri çıkardığınızda dizi otomatik olarak yeniden boyutlandırılır. Daha fazla bilgi için geçmiş dizi davranışı ile ilgili makaleyi inceleyin.
RASGDİZİ S_SAYI_ÜRET işlevinden farklı, S_SAYI_ÜRET işlevinin bir dizi döndürmemesi nedeniyle S_SAYI_ÜRET ‘in tüm aralığa kopyalanması gerekir.
Diziler, bir değer sırası, bir değer sütunu ya da değer sırası ve sütunlarının bir kombinasyonu olarak düşünülebilir. Yukarıdaki örnekte, RASGDİZİ formülümüzün dizisi D2:F6 aralığıdır ve 5 satıra 3 sütundur.
Excel, çalışma kitapları arasındaki dinamik dizilere yönelik olarak sınırlı destek sunar ve bu senaryo yalnızca her iki çalışma kitabının da açık olması durumunda desteklenir. Kaynak çalışma kitabını kapatırsanız bağlantılı tüm dinamik dizi formülleri yenilendiğinde #BAŞV! hatası döndürür.
FONKSİYON KULLANIMI
Şimdi 3 farklı örnekle fonksiyonun nasıl çalıştığını görelim. Önce sadece satır ve sütun belirteceğiz, sonraki örnekte satır, sütun, min ve maks sayı değerlerini verip geriye bir dizi döndüreceğiz. Sonra olarak da geri dönmesini istediğiniz sayısal verinin tam sayı olmasını isteyeceğiz. Elde edeceğimiz görüntü bu şekilde olacak.
Diğer yazılarımızda görüşmek üzere, hoşça kalın. 🙋🏻♂️ Bu yazımızı çevrenizle paylaşarak birçok kişinin de bilgi sahibi olmasını sağlayabilirsiniz. 👍🏻
[vc_row][vc_column][vc_column_text]Henüz bu hafta Microsoft tarafında duyurulan ve şu an için yalnızca Office Insider üyelerinin kullanabildiği bir fonksiyon olan LET / İZİNVER fonksiyonundan bahsedeceğim. Şimdilik fonksiyon ismi Türkçe olarak İZİN veya İZİNVER şeklinde belirtilmiş, yaptığı işe göre bu pek anlamlı görünmüyor.. ileride değişebilir. Sizlere FİLTRE fonksiyonu yazımda da bahsettiğim üzere, yeni dinamik dizi fonksiyonlarının hayatımıza girmesiyle artık birçok işi çok daha basit ve hızlı bir biçimde gerçekleştirmiş olacağız. Yenilikler de ardı ardına geliyor. Yazılarımızı takip ederek güncel bilgiye hızlıca erişebilirsiniz. 👍🏻
LET FONKSİYONUN TANIMI
Öncelikle yapılan duyuruda fonksiyonla ilgili şöyle bir tanımlama yapılıyor;
Hiç aynı ifadeyi bir formül içinde birden çok kez tekrarlamanız, bir mega formül yaratmanız ya da daha kolay tüketim için formülünüzün bazı bölümlerini yeniden kullanmanın bir yolunun olmasını dilediniz mi? LET / İZİNVER işlevinin eklenmesiyle, artık yapabilirsiniz!
LET
, formülünüzdeki bir hesaplamayı veya değeri bir adla ilişkilendirmenize olanak tanır ve formüldeki bölümleri yeniden kullanmayı kolaylaştırır. Bir nev-i; Ad Tanımlamayı fonksiyon içerisinde yapıp o ismi de hesaplama da kullanabiliyoruz anlamına gelir. Bazen bir formül yazarken aynı aralığı veya şartı tekrar belirtmemiz gerekiyor. İşte orada LET fonksiyonu bize yardımcı olacak. Bir formül içerisinde birden fazla kez kullanmak zorunda olduğumuz değere bir isim vereceğiz ve artık o isimle fonksiyon içinde belirtmiş olacağız.
Başlıca faydaları:
1. Okunabilirlik
Artık belirli bir aralık / hücre referansının neyi ifade ettiğini, hesaplamanızın ne yaptığını veya bir formül içindeki aynı ifadeyi çoğalttığını hatırlamak zorunda değilsiniz. İfadeleri adlandırma yeteneğiyle, formülünüzün okuyucularına anlamlı bir bağlam verebilirsiniz.
2. Performans
Aynı ifadeyi bir formülde birden çok kez kullanırsanız, Excel bu ifadeyi birden çok kez hesaplar. LET, ifadeyi adlandırmanıza ve bu adı kullanarak ifadeye başvurmanıza olanak tanır. Adlandırılmış herhangi bir ifade, formülde birçok kez bahsedilse bile yalnızca bir kez hesaplanır. Bu, hesaplama açısından karmaşık ifadeler için performansı önemli ölçüde artırabilir.
YAZIM KALIBI
LET
(name1, value1, [name2…], [value2…], calculation)
Bu fonksiyon temelde 3 argümandan oluşuyor. İsteğe bağlı olarak name ve value argümanları artırılabilir..
Temeldeki 3 argüman da gereklidir. Fonksiyonun çalışması için bir isim, belirtilen değer ve hesaplama argümanları olmak zorundadır.
Bu argümanları bir tanıyalım..
Parametrelerin yapılandırılması, not edilmesi gereken iki nokta vardır;
İsimler ve değerleri çiftler hâlde olmalıdır. Yani bir isim olup da bir değer olmazsa fonksiyon çalışmaz.
Fonksiyonun son parametresi, adlandırdığınız değerleri kullanabilen hesaplamadır. Düzgün yapılandırılmış bir LET fonksiyonunun tek sayıda argümanı olacaktır.
İLAVE NOTLAR
Son bağımsız değişken sonuç döndüren bir hesaplama olmalıdır .
Değişken adları, Ad Yöneticisi’nde kullanılabilen geçerli adlarla sınırlıdır. Örneğin, “a” ismi geçerli ancak “c”, R1C1 stili başvurularıyla çakıştığı için geçerli bir isim olmayacaktır.
Fonksiyona verilen şu örnek, size olayı anlatacaktır ;
=LET(total; SUM(A1:A10); total * 3)
Yazılım tarafının da net olarak anlayabilmesi için basit bir örnek daha vereyim; aşağıdaki formülde, topla isimli bir değişken oluşturdum ve ona 1 değerini verdim, hesaplama kısmında da topla değişkenine +2 ilave et dedim ve sonuç olarak bu fonksiyon geriye 3 sonucunu döndürecektir.
=LET(topla; 1; topla+2)
Bunu bir adım daha ileri götürmek istersek, yani ikişer isim ve değer belirtmek istersek şöyle kullanabiliriz.
=LET(total, SUM(A1:A10), count, COUNT(A1:A10), total / count)
Bu fonksiyon için verilen bir örnek de şu;
Burada yeni çıkan FILTER dinamik dizisi ile soldaki tablonun ilk sütunda Fred olanlar filtrelenip boş olan bir hüre varsa da oraya – (tire) işareti yazılması isteniyor.
Standartta biz bunu şöyle bir formülle çözebiliyoruz; eğer filtreden gelen sonuçta boş bir hücre varsa oraya tire işaretini yaz, yoksa normal filtreleme işlemini yap.
Şu an için bu fonksiyonla ilgili aktaracağım bilgiler bu şekilde, dilerseniz daha detaylı bilgiye buradan erişebilirsiniz.. Günlük hayatta kullanmaya başladıkça sizlerle de paylaşıyor olacağız. ⚡️
Diğer yazılarımızda görüşmek üzere, hoşça kalın. 🙋🏻♂️
Bu yazımızı çevrenizle paylaşarak birçok kişinin de bilgi sahibi olmasını sağlayabilirsiniz. 👍🏻[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][mk_image src=”https://peakup.org/wp-content/uploads/2023/12/office_imza_son.gif” image_size=”full”][/vc_column][/vc_row]
[vc_row][vc_column][vc_column_text]Bu yazımızda yeni dinamik dizi fonksiyonlarından SIRALI Fonksiyonu ‘ndan bahsedeceğim.
Bazen sütunda bir sıra numarası vermek istediğimizde veya belirttiğimiz satır ve sütun aralığında bir başlangıç sayısı verip, artış değerini de belirttiğimizde o hücre aralığında sıralı sayı dizisi oluşturabileceğimiz bir fonksiyondur. Hızlı bir veri kümesi oluşturmanız gerektiği durumlarda da kolayca kullanabiliriz. Diğer fonksiyonlarla ilgili yazılarımızı da yine blog sayfamızda bulabilirsiniz.
NE İŞE YARAR
SIRALI
Fonksiyonu ; yukarıda da biraz bahsettiğim gibi, Excel’deki mevcut Doldur kısmında yer alan Seri Doldur seçeneği ile benzer özelliklere sahip bir fonksiyondur. Örneğin; 1’den 20’ye kadar bir sıra numarası vermek istediğimizde =SIRALI(20) dememiz yeterli olacaktır. Ya da 10 satır ve 5 sütunlu sayısal bir veri tablosu oluşturacaksınız diyelim, bu sayılar da belli bir sayıdan başlasın ve belirttiğimiz artış değerinde üzerine eklenerek diziyi doldursun istediğimizde kullanabiliriz. Bu fonksiyon bize geri döndürdüğü sayısal verilerle ekstra özel işlemler de yapabiliriz. Son bölümde bununla ilgili bir örnek veriyor olacağım.
YAZIM KALIBI
Fonksiyonda 4 argüman bulunuyor.
Bu 4 argümandan 1. si gerekli, diğer 3 argüman da opsiyonel/isteğe bağlıdır.
Şimdi bu argümanların anlamlarına, yani fonksiyonun bizden ne isteğine ve bizim ona ne vereceğimize bakalım.
ÇALIŞMA KOŞULLARI
Tüm eksik isteğe bağlı bağımsız değişkenler için varsayılan olarak 1 kullanılır.
Diziler, bir değer sırası, bir değer sütunu ya da değer sırası ve sütunlarının bir kombinasyonu olarak düşünülebilir.
SIRALI işlevi bir dizi getirir; dizi bir formülün nihai sonucuysa yan hücrelere geçer. Yani, ENTER tuşuna bastığınızda, Excel uygun boyutta bir dizi aralığını dinamik olarak oluşturur. Destek verileriniz bir Excel tablosundaysa, yapılandırılmış başvurular kullanıyorsanız dizi aralığınıza veri eklediğinizde veya dizi aralığınızdan veri çıkardığınızda dizi otomatik olarak yeniden boyutlandırılır. Daha fazla bilgi için geçmiş dizi davranışı ile ilgili makaleyi inceleyin.
Excel, çalışma kitapları arasındaki dinamik dizilere yönelik olarak sınırlı destek sunar ve bu senaryo yalnızca her iki çalışma kitabının da açık olması durumunda desteklenir. Kaynak çalışma kitabını kapatırsanız bağlantılı tüm dinamik dizi formülleri yenilendiğinde #BAŞV! hatası döndürür.
FONKSİYON KULLANIMI
Dilerseniz bir sütunda sıra numarası vermeyi deneyebilirsiniz. Belirtilen satır ve sütun sayısınca 1’den başlayıp Sıralı bir sayı dizisi elde edebiliriz, dilersek artış değerini kullanarak step step artmasını sağlayabilirsiniz. Şimdi fonksiyonun nasıl kullanıldığını görelim.
VERİLERİ SÜTUNLARA KOLAYCA BÖLÜN
Şimdi de yukarıda bahsettiğimiz ekstra özel işlemlerde kullanımına bir örnek verelim..
A sütununda onlarca, yüzlerce, binlerce satır veri olduğunu varsayalım, bu verileri de birkaç sütuna bölmek istiyorsunuz, işte o zaman bu fonksiyonun kullanım mantığı ile geri döndürdüğü sayılardan faydalanarak listeyi kolayca oluşturabiliriz. Aşağıdaki örnekte, A sütununda 16 satır veri var, biz bu verileri, birer satır ara ile A ve B sütunlarına eşit miktarda yazdıralım.
Diğer yazılarımızda görüşmek üzere, hoşça kalın. 🙋🏻♂️
Bu yazımızı çevrenizle paylaşarak birçok kişinin de bilgi sahibi olmasını sağlayabilirsiniz. 👍🏻
Bu yazımızda sizlere; makro tarafında olmazsa olmaz bir karar/koşul yapısından bahsediyor olacağım. Yazının sonunda IF Karar yapısı nedir, ne zaman ve nasıl kullanılırı öğrenmiş olacağız.
IF KARAR YAPISI NEDİR?
Bu
koşul yapısı; bütün programlama dillerinde olan, bazı şartların gerçekleşmesi veya gerçekleşmemesi durumunda ayrı-ayrı kod bloklarının çalıştırılmasına imkân veren yapıdır.
Belirtilen koşuldan geri dönen True/FalseBoolean değerine göre işlemler yapabilmenizi sağlar.
Eğer koşulun TrueDoğru olduğu söylenirse, belirtilen koşul(lar)ın altında bulunan ifadeler uygulanır.
Koşulun FalseYanlış olduğu söylenirse, IF yapısından sonra belirtilen ifadeler uygulanır. İlaveten, duruma göre Else veya ElseIF ifadelerini belirttiysek o satırların da kontrolünü sağlar ve ne zaman sonuç True dönerse orada belirtilen komutlar uygulanır.
NE ZAMAN KULLANILIR?
Kod yazarken, Eğer ile başlayan bir düşüncemiz/şartımız varsa ve bir veya birden fazla şarta göre işlemler yaptırmak istiyorsak genellikle bu yapıyı kullanırız. Bu yapıdan başka birkaç Karar/Koşul yapısı daha mevcuttur, bunlar; Select Case, IIF, Choose ve Switch yapılarıdır. Bu yapılara da hâkim olmak kod yazarken sizi rahatlatacaktır.
NASIL KULLANILIR?
Öncelikle yazım kalıbı veya söz dizimi dediğimiz durumu, yani bu IF yapısını VBA tarafında nasıl yazabiliriz ona bir bakalım.
YAZIM KALIBI
Yazım kalıbı Syntaxaşağıdaki gibidir.. Mavi renkli kısımlar sabittir. Kırmızı renkli kısımlar değişkendir.
Ifkoşul(lar)Then ‘Kodlarınız End If
Mantık olarak kabaca şöyle düşünebilirsiniz; “Eğer bu sayı 10’dan büyükse bunları yap.” gibi..
Eğer tek bir koşulumuz şartımız varsa, yukarıdaki kalıbı bu şekilde de kullanabilirsiniz. Ifkoşul(lar)Then‘Kodlarınız
Tek şart varsa, End If ifadesini kaldırıp, koşulu Then ifadesinin yanına yazabilirsiniz. If ve Then arasındaki koşulumuz da, duruma göre birden fazla olabilir.
Yani örneğin; A sütunundaki hücrelerdeki sayılar 10‘dan büyükse ve boş değilse gibi, And, Or, Xor vb. Mantıksal operatörleri de kullanabilirsiniz.
Şimdi bu kısmı tam olarak anlamanız için ufak bir kod örneği verelim..
If sayi > 10 And sayi < 20 Then
Tek bir If .. Then kalıbı arasında mantıksal operatörler kullanarak, koşulumuzu kendi içinde 2-3-4…’e çıkarabilirsiniz. Diyelim ki; A2:A10 hücre aralığında bazı sayılarımız var ve bu sayılardan 10‘dan büyük olanların B sütununa büyük ifadesini yazdıralım.
Bunun için bize gerekli olan kodlar bu şekildedir;
Sub IF_Kosul_Yapisi()For i =2 To 10IfCells(i,"A")>10 Then
Cells(i,"B")="Büyük"
End If
Next i
End Sub
Bu kodların nasıl çalıştığını gif resimde görerek daha iyi anlayabilirsiniz.
IF yapısı
BİRDEN FAZLA KOŞULVE ELSE
Eğer birden fazla koşulumuz var ise ve mantık olarak, Eğer böyleyse bunu yap, değilse şunu yap gibi, iki farklı duruma göre işlem yapmak istiyorsanız, bunu da yine tek bir satırda bu şekilde yazabileceğiniz gibi;
If Cells(i,"A")>10 Then Cells(i,"B")="Büyük"ElseCells(i,"B")="Küçük"
alt alta Elseifadesiyle birlikte de yazabilirsiniz. O zaman kalıbımız bu şekilde olacaktır. Ifkoşul(lar)Then ‘Doğruysa Kodlarınız Else ‘Yanlışsa Kodlarınız End If
Örnek kodlarımız..
If Cells(i,"A")>10 Then
Cells(i,"B")="Büyük"ElseCells(i,"B")="Küçük"
End If
Yukarıdaki kod, 10‘dan büyük olan hücrelerin B sütununa Büyük, küçük olanların da B sütununa Küçük yazar.
ELSEIF
Şimdi de ElseIfDeğilseEğer ifadesini dahil ederek koşullarımızı artıralım.
Bu kalıpta da mantığı kabaca şöyle düşünebilirsiniz; “Eğer bu böyleyse bunu yap, değilse eğer şöyleyse şunu yap, değilse eğer öyleyse onu yap.” gibi..
Yazım Kalıbı bu şekildedir.. If koşullarThen ‘kodlarınız ElseIf koşullarThen ‘kodlarınız ElseIfkoşullarThen ‘kodlarınız End If
Sonuc sütununa sonuçlarımızı bu şartlara göre yazdıralım.
Eğer sayı sıfıra eşitse Sıfır yazsın.
Eğer sayı 10’a eşitseEşit yazsın.
Eğer sayı 10’dan küçükseKüçük yazsın.
Eğer sayı 10’dan büyükseBüyük yazsın.
Belirttiğimiz bu şartlarımıza göre, bize gereken kodlar bu şekilde olacaktır..
Sub Eger_Kosul_Yapısı_2()
Dim i As Integer
For i =2 To Range("A65536").End(3).Row
IfCells(i,"A")=0 Then
Cells(i,"B")="Sıfır"ElseIfCells(i,"A")=10 Then
Cells(i,"B")="Eşit"ElseIfCells(i,"A")<10 Then
Cells(i,"B")="Küçük"ElseIfCells(i,"A")>10 Then
Cells(i,"B")="Büyük"
End If
Next i
End Sub
Bu kodları da gif resim üzerinde nasıl çalıştığını görerek daha net anlayabilirsiniz.
ELSEIF ve ELSE BİRLİKTE
Son olarak kodlarımıza, eğer yukarıda belirttiğimiz şartların hiçbirine uymuyorsa, o zaman End If satırından önce Else değilse ifadesi dahil edilerek, bu şekilde hücreye başka bir sonuç da yazdırılabilir.
Sub Eger_Kosul_Yapısı_3()
Dim i As Integer
For i =2 To Range("A65536").End(3).Row
IfCells(i,"A")=0 Then
Cells(i,"B")="Sıfır"ElseIfCells(i,"A")=10 Then
Cells(i,"B")="Eşit"ElseIfCells(i,"A")<10 Then
Cells(i,"B")="Küçük"ElseCells(i,"B")="Büyük"
End If
Next i
End Sub