Değişken Türleri

[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.
  • Collect( tablo adı ;{kolon1: “değer1” ; kolon2: “değer2”; kolon3: “değer3” ;…})
  • Collect( tablo adı ;{kolon1: “değer1” ; kolon2: “değer2”}; { kolon1: “değer1” ; kolon3: “değer3”} ; {…})

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

GUID Fonksiyonu Nedir?

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

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.

Metin Fonksiyonları

Power Apps Formül Yazımı

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.

Concatenate(metin; metin; metin)

Concatenate(txt_sampletext.Text;  txt_sampletext.Text;  txt_sampletext.Text)

 

Left işlevi, bir metnin başındaki karakterleri döndürür.

Left (soldan alınacak metin; alınacak karakter sayısı)

Left(txt_sampletext.Text;1)

 

Mid işlevi, bir dizenin ortasındaki karakterleri döndürür.

Mid(parça alınacak metin; parça alınmaya başlanamak için başlangıç sayısı;  alınacak karakter sayısı)

Mid(txt_sampletext.Text;3;1)

 

Right işlevi, bir dizenin sonundaki karakterleri döndürür.

Right(sağdan alınacak metin; alınacak karakter sayısı)

Right(txt_sampletext.Text;1)

 

Len işlevi, bir metin dizesinin içerisindeki tüm karakterleri sayarak bir sayı söyler.

Len(metin)

Len(txt_sampletext.Text)

 

Lower işlevi, tüm harfleri küçük harfe dönüştürür.

Lower(txt_sampletext.Text)

 

Upper işlevi, tün harfleri büyük harfe dönüştürür.

Upper(txt_sampletext.Text)

 

Proper işlevi, tüm sözcüklerin ilk harfini büyük harfe dönüştürür.

Proper(txt_sampletext.Text)

 

Trim işlevi, bir metin dizesindeki kelimeler arasındaki tüm fazla boşlukları kaldırarak tek boşluğa indirir.

Trim(txt_sampletext.Text)

 

TrimEnds işlevi bir metin dizesinin başındaki ve sonundaki tüm boşlukları kaldırır ancak kelimeler arasındaki boşlukları değiştirmez.

TrimEnds(txt_sampletext.Text)

Diğer tüm fonksiyonların listesine link üzerinden erişebilirsiniz.

Global Set Değişkeni

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.[

VBA Değişken Tanımlama Biçimleri

Bu yazımızda sizlere VBA Değişken Tanımlama Biçimleri ‘ni anlatıyor olacağız. Değişkenler programcılığın temel öğelerinden biridir. Değişkenleri kullanmak ve yönetmek proje oluştururken olmazsa olmazlarımızdandır diyebiliriz. Olabildiğince sade biçimde sizlere anlatmaya çalışacağım. Hatırlatma: VBA ile ilgili diğer yazılarımızı da yine blog sayfamızda bulabilirsiniz. 👍🏻

 

VBA Değişken Tanımlama Biçimleri Hakkında

Değişkenler genellikle bir veriyi hafızada tutmak ve gerektiğinde bu veriyi kullanmak için vardır.
Değişkenler genelde iki sınıfa ayrılır. Global (Genel) değişkenler ve Local (Yerel) değişkenlerdir.
Global değişkenler programın bütün fonksiyonları tarafından kullanılabilirken, Local değişkenler sadece tanımlandıkları fonksiyonda kullanılır.
Bir prosedür, fonksiyon veya yürütülen bir modülün ömrü boyunca geri çağrılabilir, yeniden atanabilir veya sabitlenebilir.
Bir değişken bildirmek, kullanacağınız değişkenlerin adlarını ve değişkenin içereceği veri türünü belirtmenize olanak tanır.
Örneğin, Sonuç = 10 ise, değişken Sonuç bir Integer Tam sayı olarak bildirilebilir.
Değişken isimlerini genelde kısa ve akılda kalıcı bir biçimde oluştururuz. En çok tercih edilen değişken isimleri; i, a, n, x ,y ,z, s gibi tek karakterlik isimlerdir ki, kodlarda yazımı kolay olsun. Değişken adları kodlar içerisinde kullanırken hatırlayacağınız bir ad olursa, kod yazımı esnasında hata yapma olasılığınız azalır.
Şimdi tanımlama kısmına geçebiliriz.

 

Değişken tanımlama ile ilgili genel yazım kalıpları bu şekildedir.
Dim değişken_adı [(diziboyutu)] As tipi
Public değişken_adı [(diziboyutu)] As tipi
Static değişken_adı [(diziboyutu)] As tipi

 

Bu genel tanımlama ile beraber aşağıda belirtilen tanımlama yöntemleri de tercih edilebilir.

  1. Dim ile tanımlama
  2. Veri Tanımlayıcıları (Kısaltmalar) ile tanımlama
  3. DEF ile tanımlama

 

Dim ile Tanımlama

En çok bilinen ve kullanılan VBA Değişken Tanımlama yoludur.
Yazım kalıbını Syntax yukarıda belirttik. Tekrar birkaç örnekle netleştirelim.
Diyelim ki, A sütunundaki satırlarda (hücrelerde) kullanmak üzere satır adında bir değişken tanımlaması yapacağız, satır numaraları tam sayı oldukları için Veri Türleri makalemizde belirttiğimiz tam sayı veri tiplerinden birini kullanabiliriz. Kontrol ettireceğimiz satır sayısına veya hücrede olabilecek maksimum sayıya göre değişken veri tipini kullanmak daha uygun olacaktır. Sayısal ve Tam Sayı olarak kullanabileceğimiz, temelde uygun 3 değişken veri tipimiz var, ByteInteger ve Long. Eğer satır değişkenine atayacağımız sayısal veri 255 ve daha az ise, o zaman hafızada daha az yer kaplayan Byte değişken veri tipini kullanabiliriz. Eğer satır değişkenine atayacağımız sayısal veri -32767 ile +32768 arasında ise, o zaman da Integer değişken veri tipini kullanabiliriz. Daha büyük bir Tam Sayı olabilir ise, o zaman da Long değişken veri tipini kullanmalıyız. Eğer değişkeninin alabileceği maksimum sayıdan daha büyük bir sayı gönderilirse Overflow (Taşma) hatası alınır. Eğer Sayısal olarak belirtilen bir değişkene Metinsel bir ifade gönderilirse, o zaman da Type Mismatch (Tür Uyuşmazlığı) hatası alınız.

 

Dim ile Değişken tanımlamaya birkaç örnek verelim;

Sub PEAKUP()
    Dim satir As Long
    Dim sutun As Byte
    Dim metin As String
    Dim baslangic As Date
    Dim para As Currency
    Dim nesne As Object
    satir = 15
    sutun = 5
    metin = "Excel Turkey Forum"
    baslangic = "24.06.2018"
    para = 300
    Set nesne = ActiveSheet
End Sub

Bu şekilde her bir değişkeni ayrı ayrı satırlarda yazabildiğimiz gibi, istersek tek bir satırda da bu şekilde yan yana yazabiliyoruz.
Sadece en başta Dim olması gerekiyor ve her bir değişken arasına virgül koyarak devam ediyoruz.

Sub PEAKUP()
    Dim satir As Long, sutun As Byte, metin As String
    Dim baslangic As Date, para As Currency, nesne As Object
End Sub

Burada şuna dikkat etmek gerekiyor. Bazı kullanıcılar şurada yanılgıya düşüp yanlış bir tanımlama yapabiliyorlar.
Yukarıda yazdığım kodu eğer bu aşağıdaki gibi yazmaya kalkarsanız, yani Dim ile başlayıp ilk değişkeni tanımladım diyerek, devam eden yandaki değişkenleri de uygun değişken veri tipleri ile tanımlamış olmazsınız.. “sutun”, “metin” tanımlamalarında veri tipleri belirtilmediği için, Byte ve String değil, tanımsız veri tipi olan Variant olarak belirtilmiş olur. Dim ile tanımladığım ilk değişkende veri tipi belirttiğiniz için, devamında gelen diğer değişkenleri de tanımlamış olmuyorsunuz, her bir değişenin ayrı ayrı tipini de belirtmelisiniz.

 

Veri Tanımlayıcıları (Kısaltamalar) ile tanımlama

Abbreviations (Kısaltmalar)

Tür Bildirim son ekleri olarak da bilinir.
Bu çok fazla kullanılmaz ama kodlarda tasarruf sağlar.
VBA’ya değişken adının sonuna özel bir karakter ekleyerek bir değişken türünü söylemek de mümkündür.

Dim sayi% 'Integer
Dim uzunsayi& 'Long
Dim toplam! 'Single
Dim alttoplam# 'Double
Dim odeme@ 'Currency
Dim adi$ 'String
Dim enuzunsayi^ ' 64 bit'te LongLong

 

Veri Türü Kısaltması İfade Karakterleri

VBA

, veri türünü belirtmenin hızlı bir yolu olarak, bir değişkenin adına bir karakter eklemenize izin verir.
Değişkenleri bildirmek için bu yöntem kullanılmamalıdır ve yalnızca geriye dönük uyumluluk amacıyla kullanılabilir.
Aşağıdaki satır bir Double veri türü ile bir değişken bildirecektir.

Dim dDouble#

Ancak bu satır “As” anahtar sözcüğünü kullanarak bildirilmesi daha doğru olur.
Dim dDouble As Double

 

Veri Türü Kısaltmalar / Son Ekler

Eğer kısaltmaları kullanırsanız, o zaman türü bildirmek zorunda değilsiniz.
% ifadesini kullanırsanız, “As Integer” yazmanız gerekmez.
Bu kısaltmalar, Variant‘lara hazır bilgi atamak için yararlı olabilir.

Örnek; sayim = 10#

 

DEF ile Tanımlama

Değişkenlerimizi belirttiğimiz gibi birkaç farklı yöntemle tanımlayıp bildirebiliyorduk, bu yöntemlerden biri de DEF ile tanımlama.
Bu tanımlama genellikle kod penceresinin en üstünde prosedürden bağımsız olarak yapılır.
Değişken olarak kullandığımız isim ve veri tipini aşağıdaki gibi kısaltarak tanımlamasını yapabiliyoruz.
Def+Tür ‘den sonra gelen harf ile başlayan değişkenlerin o türde olduğunu ifade eder.

def ile değişken tanımlama tablosu

Def ile tanımlamaya Dim ile arasındaki farkı gösteren bir örnek verelim..

Öncelikle Dim ile değişkenlerimizi bu şekilde tanımlayalım.

Sub PEAKUP()
    Dim satir As Integer, sutun As Integer
    Dim metin As String, harf As String, kelime As String
    Dim tarih As Date, baslangic As Date
    Dim rakam As Double, fiyat As Double
    satir = 10
    sütun = 5
    metin = "PEAKUP"
    harf = "E"
    kelime = "Kitap"
    tarih = "24.06.2018"
    baslangic = "14.12.1980"
    rakam = 1453.48
    fiyat = 5647.15
End Sub

Şimdi bu tanımlamayı bir de Def ile yapalım.

DefInt S
DefStr H, K, M
DefDate B, T
DefDbl F, R
Sub PEAKUP()
    satir = 10
    sütun = 5
    metin = "PEAKUP"
    harf = "E"
    kelime = "Kitap"
    tarih = "24.06.2018"
    baslangic = "14.12.1980"
    rakam = 1453.48
    fiyat = 5647.15
End Sub

Gördüğünüz gibi sadece baş harflerini kullanarak türünü belirtip değişken tanılaması yapmış olduk.
Bu noktada değişken tanımlamaları fazla yer kaplamasın ve daha az satırda görünsün isterseniz, Aşağıda belirtildiği gibi Def satırlarını iki nokta üst üste ( : ) ile tek satırda yan yana yazabilirsiniz.

DefInt S: DefStr H, K, M: DefDate B, T: DefDbl F, R
Sub PEAKUP()
    satir = 10
    sütun = 5
    metin = "PEAKUP"
    harf = "E"
    kelime = "Kitap"
    tarih = "24.06.2018"
    baslangic = "14.12.1980"
    rakam = 1453.48
    fiyat = 5647.15
End Sub

Bu arada tüm değişken isimlerini, değerlerini ve türlerini Locals Window‘dan kolaylıkla takip edebilir ve değerlendirebilirsiniz.

def ile değişken tanılamayı locals windowda görüntüleme

 

Daha fazla detay için Microsoft Docs sayfasına 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. 👍🏻

EXCEL’DE ÖZEL MENÜ OLUŞTURUN

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.

özel menü

 

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.

şeridi özellştir

 

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.

özel menü ekle

 

Eğer Veri Analizi grubunun üzerinde sağ tıklayıp Komut Etiketlerini Gizle seçeneğini seçerseniz.

 

komut etiketlerini gizle

 

Komutlarınız menüde bu şekilde mini komut olarak görünecektir.  mini etiket

 

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.

özel menü yeni

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. 👍🏻

LET / İZİNVER ; EN YENİ FONKSİYON

[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/izinver yazım kalıbı
LET

(name1, value1, [name2…], [value2…], calculation)

let fonksiyonu

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..

let / izinver fonksiyonu argüman listesi

 

Parametrelerin yapılandırılması, not edilmesi gereken iki nokta vardır;

  1. İsimler ve değerleri çiftler hâlde olmalıdır. Yani bir isim olup da bir değer olmazsa fonksiyon çalışmaz.
  2. 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;

izinver fonksiyon örneği

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.

=IF(ISBLANK(FILTER(A2:D8;A2:A8="Fred"));"-";FILTER(A2:D8;A2:A8="Fred"))

Fakat dikkat ederseniz, formülde şu kısmı iki kez yazdık; FILTER(A2:D8;A2:A8=”Fred”)

LET Fonksiyonu da işte bu şekilde aynı veriyi iki kez yazmanıza gerek yok diyor.

=LET(kriter;"Fred";aralık;FILTER(A2:D8;A2:A8=kriter);IF(ISBLANK(aralık);"-";aralık))

 

Bu güzel fonksiyonu bir örnek daha verip yazımı sonlandırayım; 😊

izinver fonksiyonu

Yukarıdaki tabloda D2 ve D3‘te belirtilen koşullara göre Şubat ayının toplam verisini bulmak istediğimizde yazmamız gereken formülümüz şu oluyordu;

=EĞER(ÇOKETOPLA($C$2:$C$8;$A$2:$A$8;$D$2;$B$2:$B$8;">="&$D$3)<0;"Toplam Hatalı";ÇOKETOPLA($C$2:$C$8;$A$2:$A$8;$D$2;$B$2:$B$8;">="&$D$3))

Gördüğünüz gibi bir EĞER içinde iki kez ÇOKETOPLA kullandık, ihtiyacımıza göre bu şekilde yazmak zorundaydık.

Oysa LET fonksiyonu ile yapacak olursak ÇOKETOPLA fonksiyonunu bir kez yazmamız yeterli olacaktı.

=LET(Toplam;ÇOKETOPLA($C$2:$C$8;$A$2:$A$8;$D$2;$B$2:$B$8;">="&$D$3);EĞER(Toplam<0;"Hatalı";Toplam))

Ş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]

RASGDİZİ Fonksiyonu – RANDARRAY

[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
rasgdizi sözdizimi

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.rasgdizi fonksiyonu argümanlar listesi

 

Ç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 tablosundaysayapı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.

 

excel rasgdizi farklı örnekler

 

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]

Sıralı Fonksiyonu – SEQUENCE

[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

sıralı fonksiyon argümanları

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.

sıralı fonksiyon argümanları listesi

 

Ç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 tablosundaysayapı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.

sıralı fonksiyonu kullanımı

 

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.

 

sıralı function farklı kullanı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. 👍🏻

coder by[/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]

EXCEL ile OUTLOOK ÜZERİNDEN TOPLU MAİL GÖNDERME

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.

excel toplu mail

Ö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.

excelvba mail listesi

 

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.

MsgBox "E-Mailleriniz gönderilmiştir.", vbInformation, Application.UserName

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.

.Attachments.Add "dosya konumu"

Mesaj Gövdesindeki Metni HMTL Görünüme Kavuşturmak

.Body

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.excelvba outlook ile mail göndermek
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. 👍🏻

Merhabalar,
” & Range(“D” & i).Value & “