Securing the Agentic Landscapes, AI agent güvenliği ve kurumsal uyum odaklı üst düzey buluşma olarak 27 Mart 2026'da Mandarin Oriental Bosphorus'ta gerçekleşiyor.
Konuya başlamadan öncede PivotTable‘ dan kısaca bahsedelim istiyorum. Tablo ya da listelerden raporlama yapmak istediğimizde genelde PivotTable oluşturmakla işe başlarız. PivotTable ana veriye hiç dokunmadan kendi isteğimize göre şekillenen tablolar oluşturmamız konusunda bize çok yardımcı olur. PivotTable; raporlama, hesaplama, tabloları kolayca yeniden düzenleme, biçimlendirme, filtreleme gibi birçok işi kolaylıkla yapmamızı sağlıyor. Bu makalede anlatacağımız konu ise Rapor Filtresi Sayfaları.
Aşağıdaki örnekte Şirket Adı, Personel Ad Soyad gibi örnek verilerin bulunduğu bir listeden PivotTable oluşturulmuştur. PivotTable Alanları‘ nda Filtre alanına eklenen sütun başlıkları, tablo üzerinde filtreleme yapılacak kriter haline gelirler ve bu bilgiler üzerinden filtreleme yaparız. Aşağıdaki örnek PivotTable’da, Filtreler alanına Şehir sütunu eklenmiştir, Satırlar alanına ise Personel Ad Soyad ve Şirket Adı sütunları eklenmiştir. Bu tabloda şehirlere göre filtreleme ile şehir bazlı raporlamalar yapacağız.
Uzun Yöntem
Filtreden seçilen her bir şehir için tablonun değişimini tek tek gözlemleyebiliriz. Birkaç sayfayı incelerken sorun yaşamayabiliriz fakat daha fazla sayfa üzerinde raporlama yapmak istediğimizde bu yöntemi genellikle tercih etmeyiz.
Rapor Filtresi Sayfaları
Filtre alanında yer alan Şehir kriteri için tek tıklama ile her bir şehrin raporu Rapor Filtresi Sayfaları işlevi kullanılarak hızlı ve pratik bir şekilde açılacaktır.
Bu işlem için PivotTable Alanları’ na Filtre eklendikten sonra Çözümle sekmesinde şeridin en solundaki Seçenekler tıklarız ve açılan listeden Rapor Filtresi Sayfalarını Göster… işlevini seçeriz. Bu işlemle birlikte filtre alanında yer alan Şehir seçilir. Ek olarak birkaç farklı filtre kriteri daha olsaydı, hangisine göre rapor almak istiyorsak onu seçerek işlemimizi yapabilirdik.
Ardından tüm personellerin satış yaptığı şehir bilgilerinin filtrelenmiş halleri ayrı sayfalarda hızlıca açılır.
Açılan sayfalarda Şehir bilgilerini görmekteyiz, A’dan Z’ye kadar birçok şehir olduğundan ismi sığmayan şehirler … ile temsil edilmiştir.
Siz de Rapor Filtresi Sayfaları ile pratik raporlar alın.
[vc_row][vc_column][vc_column_text]Power Apps içerisinde kullandığımız her bir nesne ya da özellik değişken olarak kullanılabilir. Örneğin bir TextBox içindeki değeri TextBox1.Text olarak çağırabiliriz, böylece bu nesne, içerisinde metinsel ifade taşıyan bir değişkenmiş gibi kullanılmış olur. Bir nesnenin rengini, içindeki yazıyı, kenarlık bilgisi gibi tüm değerler bu mantıkla çağrılarak kullanılabilmektedir. Bu açıdan bakıldığında tüm nesnelere ve özelliklere değişken gözüyle bakabiliriz. Bu konuda yazılmış diğer makalemizi okumak için linke göz atabilirsiniz.
Temel manada her nesne değişken gibi kullanılabiliyor olsada, esasında değişken olmak üzere tasarlanmış gerçek fonksiyonlar da mevcut. Değişken atama ve kullanma konusunda alanında uzman bu fonksiyonlar Power Apps için 3 kategori altında incelenmiştir diyebiliriz. Bu değişkenler, statik bir Label’ın sayfalar arası veri taşımasından ziyade, bir değeri artan ya da azalan şekilde hesaplamak gibi daha dinamik işlemlerde kullanılmaktadır.
Power Apps Değişken Türleri
1-Genel Değişkenler:
Set
Global/genel bir değişkendir, uygulamanın tüm ekranlarından başvurulabilir.
Uygulamanın herhangi bir yerinden oluşturulabilir ve başvurulabilir değişken türüdür.
Sayı, Metin dizesi, Boole, Kayıt ve Tablo gibi veri türlerinde değer alabilir.
Set(değişken_adı; değer)
2-Bağlam Değişkenleri:
UpdateContext
yalnızca bir ekrandan başvurulabilir değişkenlerdir.
tek bir değer, bir kayıt, bir tablo, bir nesne başvurusu, bir formüldeki herhangi bir sonuç
UpdateContext({değişken_adı : değer })
3-Koleksiyon:
Collect & ClearCollect
Uygulamanın herhangi bir yerinden oluşturulabilen ve başvurulabilen tablo tutar.
Daha sonra kullanılmak üzere yerel cihaza kaydedilebilir.
Bir tablo içinde kolon bazında ya da satır bazında farklı veriler girilebilir.
Collect her oluşturulduğunda veriyi tekrar tekrar üstüste yazar
ClearCollect var olan tabloyu her defasında temizleyerek sıfırdan oluşturur.
Koleksiyon kullanımı hakkında yazılan diğer makaleye link üzerinden ulaşabilirsiniz.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][mk_image src=”https://peakup.org/wp-content/uploads/2023/12/powerapps_imza_son.gif” image_size=”full”][/vc_column][/vc_row]
GUID fonksiyonu ile tüm ekranlarda anlık olarak random id üretilmektedir. ID değerleri, Common Data Service ve SQL Server gibi veritabanı sistemleri tarafından anahtar olarak kullanılır.
Fonksiyon tek başına kullanıldığında, sayı,büyük veya küçük harf, tire içerebilir. Göründüğü gibi bu fonksiyon gayet uzun sonuçlar döndürmekte ancak bazı fonksiyonlar kullanılarak bu fonksiyon da yönetilebilir.
GUID fonksiyon her hesaplandığında farklı bir değer döndürür. Formülde başka hiçbir değişiklik olmazsa uygulamanız yürütüldüğü sürece aynı değere sahip olur.
Bağımsız değişken olmadan kullanıldığında geçici bir fonksiyondur. Fonksiyonun sonucunu görüntüleyebilmek ya da kaydedebilmek için Label içine yazılabilir. Sonucun aktif değişmesi için değişkene aktarılabilir.
Sayfa geçişinde, uygulama açılısı esnasında, verileri kaydederken ya da timer ile random id oluşturulabilir.
GUID Fonksiyonu ve Örnek Kullanımlar
Collect
Örneğin bir koleksiyon oluşturarak belirli bir kolona bu fonksiyon aktarılabilir.
Collect(Table1; { Guid_Columns: GUID() } )
Mid
GUID fonksiyonu sayı,büyük veya küçük harf, tire içeren uzun bir sonuç üretir. Örneğin yalnızda 5 karakterlik bir sonuç üretmek istediğinizde Mid fonksiyonu kullanılabilir.
Ekrana bir Label ekleyerek Text özelliğine Mid(GUID(); 1 ;5) yazıldığında 5 haneli bir GUID oluşmaktadır.
Set
Öte yandan sürekli olarak yeni bir değişken id oluşturulması gerektiğinde SET değişkeni kullanılabilir.
Ekrana ekleyeceğiniz bir butonun OnSelect Özelliğine Set(Guid_olustur ; Mid(GUID(); 1 ;5)) ve az önce eklenen Label’ın Text özelliğine ise Guid_olustur değişkeni yazılır. Artık butona her tıklandığında yeni bir değer oluşacaktır ve bu değer Label içerisinde görünecektir.
GUID() Fonksiyonun genel kullanımı için linke tıklayınız.
Diğer Power Apps yazılarına link üzerinden erişebilirsiniz.
PowerApps’in kendi yazılım dili ve kendine özel fonksiyonları bulunmaktadır. Bu fonksiyonların yanısıra Excel’de var olan birçok fonksiyonu da bünyesinde barındırmaktadır. Bu fonksiyonlar Excel’deki gibi tarihsel, metinsel, istatiksel gibi fonksiyon grupları olarak kategorilere ayrılmadan genel bir çerçevede kullanıma sunulmuştur. Bu yazıda metin fonksiyonları incelenecektir.
Excel’den aşina olacağınız formül yazım diliyle, PowerApps ile kodlama yapmak çok pratik.
Tüm formülleri nesneler üzerinden yazabiliyorsunuz. İlgili nesneyi seçtikten sonra Formula Bar üzerinden yazılabilir.
*Formüller yazılırken virgül (,) ya da noktalı virgül (;) (tarayıcı diline bağlı değişir) kullanılarak yazılabilir, eşittir kullanmanız gerekmez.
Metin Fonksiyonları
Power Apps fonksiyonları içerisinde Concatenate, Left, Right, Mid, Len, Upper, Lower gibi başlıca metin fonksiyonları yer almaktadır. Bu fonksiyonlar ile metinsel ifadeleri düzenleyebilir ya da oluşturabilirsiniz.
Örnek olarak içerisinde Metin Fonksiyonları yazan bir textbox için aşağıdaki formülleri yazalım. Bu textboxın adı txt_sampletext‘dır.
Concatenate işlevi tek sütunlu tabloları birleştirir.Bu işlevi bağımsız dizeler ile kullandığınızda & işlecinin kullanılmasıyla eşdeğerdir.
Power Apps içerisinde kullandığımız her bir nesne ya da özellik değişken olarak kullanılabilir. Örneğin bir TextBox içindeki değeri TextBox1.Text olarak çağırabiliriz, böylece bu nesne, içerisinde metinsel ifade taşıyan ve kullanıcı müdahalesine açık bir değişken olarak kullanılmış olur. Temel manada her nesne değişken gibi kullanılabiliyor olsada, esasında değişken olmak üzere tasarlanmış gerçek fonksiyonlar da mevcut. Değişken atama ve kullanma konusunda alanında uzman bu fonksiyonlar, statik bir Label’ın sayfalar arası veri taşımasından ziyade, bir değeri artan ya da azalan şekilde hesaplamak gibi daha dinamik işlemlerde kullanılmaktadır. Set değişkeni bunlardan biridir.
Özellikleri
Global/genel bir değişkendir, uygulamanın tüm ekranlarından başvurulabilir.
Uygulamanın herhangi bir yerinden oluşturulabilir ve başvurulabilir değişken türüdür.
Sayı, Metin dizesi, Boole, Kayıt ve Tablo gibi veri türlerinde değer alabilir.
Set(değişken_adı; değer)
Set Değişkeni
Set Değişkeni kullanımı oldukça kolay bir fonksiyondur. Değişken adı belirlenir ve içine yazılacak değer belirtilir. Daha sonra bu değişken adı istenilen yerde yazılarak içerdiği veri kullanıma açılmış olur.
Bir sayaç örneği ile değişken oluşturarak kullanacağımız bir çalışma yapalım.
Ekrana bir TextBox ve iki tane Buton Eklenerek görseldeki gibi konumlandırılabilir.
Butonların üzerine + ve – yazılabilir. Butonların OnSelect özelliğine Set() fonksiyonları yazılacak.
+ butonu: Set( Sayac; Sayac+1)
Bu formül ile sayacın son değeri üzerinden 1 artırma yaparak tekrar sayaca veri aktarılmakta.
– butonu: Set( Sayac; Sayac -1)
Bu formül ile sayacın son değeri üzerinden 1 azaltma yaparak tekrar sayaca veri aktarılmakta.
Label: Sayac
Label’ın Text özelliğine değişkenin adı yazılarak değişkenin tuttuğu değer ekrana yansıtılmaktadır.
Fonksiyonun genel kullanımı için linke tıklayınız.
Diğer Power Apps yazılarına link üzerinden erişebilirsiniz.[
[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, 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. 👍🏻
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
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. 👍🏻
[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]