Bu yazımızda VBA kullanarak Microsoft Excel'de kullanıcı tanımlı fonksiyonların nasıl oluşturulacağını öğreneceğiz.
Kullanıcı Tanımlı İşlev: - Microsoft Excel'in zaten birçok işlevi var, ancak yine de herkesin farklı gereksinimleri, durumu var, Kullanıcı Tanımlı İşlev adı verilen gereksinime göre kendi işlevimizi oluşturabiliriz. Excel'deki diğer işlevler gibi Kullanıcı Tanımlı işlevi kullanabiliriz.
Kullanıcı tanımlı fonksiyonu oluşturacağımız konular aşağıdadır:
1). Hücre veya aralıktaki kelime sayısı nasıl sayılır?
2). Excel'de bir Cümleden veya Hücreden bir kelime nasıl çıkarılır?
3). ISO için formül nasıl oluşturulur?
4). VBA kullanarak Çalışma Sayfası ve Çalışma Kitabı adını nasıl bilebilirim?
5). Excel'deki bir hücreden ilk ve son kelime nasıl çıkarılır?
Hücre veya Aralıktaki kelime sayısını saymak için kullanıcı tanımlı işlev nasıl oluşturulur?
Sayfa 1'de bazı adreslerimizin olduğu verilerimiz var, bu yüzden Excel'de VBA aracılığıyla kullanıcı tanımlı işlevi oluşturarak bir hücredeki veya aralıktaki kelimeleri saymak istiyoruz.
Kullanıcı tanımlı işlevi yapmak için lütfen aşağıdaki adımları izleyin: -
- VBA Sayfası'nı açın ve Alt+F11 tuşuna basın.
- Bir modül yerleştirin.
Aşağıda belirtilen kodu yazın:
Fonksiyon WORDSCOUNT(Range As Range) Uzun Dim rCell As Range Her rCellInrRange İçin Dim Count lCount = lCount + Len(Trim(rCell)) - Len(Replace(Trim(rCell), " ", "")) + 1 Sonraki rCell WORDSCOUNT = lCount Bitiş Fonksiyonu
Kod Açıklamaları: - Kullanıcı tanımlı fonksiyonu yapmak için fonksiyon isminin kodunu başlatıyoruz ve değişkenleri tanımlıyoruz. Aralıktaki kelimeleri saymak için kodda “For Every loops” kullandık.
Bu işlev Excel'de nasıl kullanılır?
Bu işlevi kullanmak için aşağıdaki adımları izleyin: -
- Excel Sayfasına gidin.
- Bir hücrenin sözcüklerini saymak için D7 hücresine formülü girin.
- =KelimeSAYISI(C7), C7 hücresi kelimeleri hesaplamak istediğimiz hücredir.
- İşlev 6 döndürür; bu, C7 hücresinin 6 kelime içerdiği anlamına gelir.
- Hücrelerin geri kalanı için aynı hesaplamayı yapmak için aynı formülü kopyalayın ve aralığa yapıştırın.
- Aralıktaki kelimeleri saymak için formülü =KelimeSAYISI(C7:C16) şeklinde kullanın ve Enter'a basın.
- İşlev, kelimelerin sayısını döndürür.
Not: - Bu UDF, bir aralıktaki veya tek bir hücredeki kelimeleri saymak için yardımcı olacaktır.
Şimdi belirtilen sınırlayıcıyı (,) kullanarak kelimeyi saymak için kodu yazacağız. Aşağıda verilen adımları izleyin: -
fonksiyon SEPARATECOUNTWORDS(Range As Range, Opsiyonel ayırıcı) Range As Long Dim rCell As Long Dim Count Eğer Eksikse(ayırıcı) O zaman ayırıcı = "," End If For Her rCellInrRange lCount = lCount + Len(Trim(rCell)) - Len(Replace(Trim(rCell), ayırıcı, "")) Sonraki rCell SEPARATECOUNTWORDS = lCount End Function
Bu işlevi kullanmak için aşağıdaki adımları izleyin: -
- Excel Sayfasına gidin.
- Sözcükteki belirli sınırlayıcıları saymak için bu tanımlanmış işlevi kullanacağız.
- =SEPARATECOUNTWORDS(C7) ve Enter'a basın.
- İşlev, belirli sınırlayıcıların sayısını döndürür.
VBA kullanarak Microsoft Excel'de bir cümleden veya hücreden bir kelime nasıl çıkarılır?
Sayfa1'de verilerimiz var. İçinde bazı adreslerimiz olduğu için, Excel'de VBA aracılığıyla kullanıcı tanımlı işlevi oluşturarak bir cümleden veya hücreden veya bir aralıktan kelimeleri çıkarmak istiyoruz.
Kullanıcı tanımlı işlevi yapmak için lütfen aşağıdaki adımları izleyin: -
- VBA Sayfası'nı açın ve Alt+F11 tuşuna basın.
- Bir modül yerleştirin.
- Aşağıda belirtilen kodu yazın:-
Fonksiyon GETWORD(Metin As Varyant, N Tamsayı, İsteğe Bağlı Ayırıcı As Varyant) As String If IsMissing(Sınırlayıcı) Sonra Sınırlayıcı = " " End If GETWORD = Böl(Metin, Ayırıcı)(N - 1) End Function
Kod Açıklama:- Yukarıda belirtilen kodda, değişkenlerle birlikte fonksiyon adından bahsettik. Sonra kelimeyi cümleden veya hücreden çıkarmak için kriterleri tanımladık.
Şimdi bu formülü nasıl kullanacağımızı öğreneceğiz. Aşağıda verilen adımları izleyin: -
- Excel Sayfasına gidin.
- Bu formülü D7 hücresinde kullanın.
- =GETWORD(C7,2) ve Enter'a basın.
- Fonksiyon hücreden ikinci kelimeyi döndürür çünkü formülde 2 için bahsettiğimiznd sayı kelimesi. 3'e yerleştirilen kelimeyi almak istiyorsanızrd konumunda, formüldeki sayıyı 2'den 3'e değiştirmeniz gerekir.
VBA kullanarak Microsoft Excel'de ISO Haftası numarası formülü nasıl oluşturulur?
Bu UDF ile Excel'de ISO hafta numarası formülünü nasıl oluşturabileceğimizi öğreneceğiz. Bu fonksiyonu kullanarak bahsi geçen tarihin yılın hangi hafta numarasına ait olduğunu belirleyeceğiz.
Sayfada bir tarih listemiz var ve ikinci sütunda hafta numaralarını almak istiyoruz.
Bu gereksinim için UDF'yi oluşturmak için aşağıdaki adımları izleyin:-
- VBA Sayfası'nı açın ve Alt+F11 tuşuna basın.
- Bir modül yerleştirin.
- Aşağıda belirtilen kodu yazın: -
Fonksiyon ISOWEEKNUMBER(Tarih Olarak Tarihlendir) As Uzun Dim Dt As Tarih Dt = DateSerial(Yıl(Gecikme - Hafta içi(Tarih - 1) + 4), 1, 3) ISOWEEKNUMBER = Int((Giriş - Dt + Hafta içi(Dt) + 5) ) / 7) Son İşlev
Kod Açıklama:- :- Yukarıdaki kodda değişkenlerle birlikte fonksiyon adından bahsetmiştik. Ardından tarih değerini belirledik ve ardından “ISOWEENUMBER” fonksiyonunun kriterlerini tanımladık.
Excel dosyamızda bu fonksiyonu nasıl kullanabiliriz?
- Excel Sayfasına gidin.
- D7 hücresine formülü girin.
- =ISOWEEKNUMBER(C7) ve Enter'a basın.
- İşlev, hücreye girilen tarih için haftayı döndürür. Şimdi her tarih için hafta numarasını almak için aynı formülü aralıkta kopyalayın.
Şimdi Excel'de yılın ISO standartlarının başlangıcını - Yılın İlk Pazartesi'sini nasıl döndüreceğimizi öğreneceğiz.
Bu fonksiyon temelde 1'i kontrol edecektir.NS Yılın Pazartesi hangi tarihe denk gelecek ve o tarihten itibaren hafta sayısını hesaplamaya başlayacak. Bu gereksinim için UDF'yi nasıl oluşturabileceğimizi görelim.
Aşağıda verilen adımları izleyin:-
- VBA Sayfası'nı açın ve Alt+F11 tuşuna basın.
- Bir modül yerleştirin.
- Aşağıda belirtilen kodu yazın:-
İşlev ISOSTYR(Yıl Tamsayı) As Tarih Dim WD As Tamsayı Dim NY As Tarih NY = DateSerial(Yıl, 1, 1) WD = (NY - 2) Mod 7 WD < 4 ise ISOSTYR = NY - WD Başka ISOSTYR = NY - WD + 7 End If End Fonksiyonu
Kod Açıklama: - Yukarıdaki kodda değişkenlerle birlikte fonksiyon adından bahsetmiştik. Ardından değişkenler için kriterleri belirledik ve ardından formül girdisini tanımladık.
2001 yılını bu formatta sağlamanız yeterlidir ve formül size 1'i verecektir.NS yılın pazartesi.
Şimdi Excel dosyasında UDF'yi nasıl kullanacağımızı öğreneceğiz. Aşağıda verilen adımları izleyin: -
- Excel Sayfasına gidin.
- D7 hücresine formülü girin.
- =ISOSTYR(C7) ve Enter'a basın.
- İşlev, 1'in tarihini döndürür.NS Yeni yılın ilk haftasının Pazartesi günü.
- 1 tarihini döndürmek içinNS Yeni yılın ilk haftasının Pazartesi günü, aynı formülü kopyalayın ve aralığa yapıştırın.
Microsoft Excel'de VBA'yı kullanarak Çalışma Sayfası ve Çalışma Kitabı adını nasıl bilebilirim?
Aşağıda verilen kodu ve adımları izleyin:-
- VBA Sayfası'nı açın ve Alt+F11 tuşuna basın.
- Bir modül yerleştirin.
- Aşağıda belirtilen kodu yazın:-
İşlev Çalışma Sayfasıadı() Çalışma Sayfasıadı = Aralık("A1").Üst.Adı Bitiş İşlevi
Kod Açıklama:- Yukarıdaki kodda fonksiyon adından bahsetmiştik ve ardından sayfa adını nasıl öğreneceğimizi tanımlamıştık.
Bu formülü kullanmak için formülü herhangi bir hücreye şu şekilde girmeniz yeterlidir: -=Çalışma sayfasıadı(). İşlev, sayfa adını döndürür.
Çalışma Kitabı adı işlevini oluşturmak için aşağıda verilen adımları ve kodu izleyin: -
- VBA Sayfasını açın Alt+F11 tuşuna basın.
- Bir modül yerleştirin.
- Aşağıda belirtilen kodu yazın: -
Function Workbookname() Workbookname = ThisWorkbook.Name End Function
Kod Açıklama:- :- Yukarıdaki kodda fonksiyon adından bahsetmiştik ve ardından çalışma kitabı adını nasıl öğreneceğimizi tanımlamıştık.
Bu formülü kullanmak için, formülü herhangi bir hücreye şu şekilde girmeniz yeterlidir: - =Çalışma kitabıadı(). İşlev, sayfa adını döndürür.
Microsoft Excel'de VBA kullanarak bir hücreden ilk ve son kelime nasıl çıkarılır?
Sayfa 1'de bazı adreslerimizin olduğu verilerimiz var, bu nedenle Excel'de VBA aracılığıyla kullanıcı tanımlı işlevi oluşturarak bir cümleden veya hücreden veya bir aralıktan son ve ilk kelimeyi çıkarmak istiyoruz.
İlk olarak, ilk kelimeyi çıkarmak için fonksiyonu yazacağız. Lütfen aşağıda verilen adımları izleyin: -
- VBA Sayfasını açın Alt+F11 tuşuna basın.
- Modül ekle
Aşağıda belirtilen kodu yazın:-
İşlev GETFW(Dize Olarak Metin, Varyant Olarak İsteğe Bağlı Ayırıcı) Dim FW As String IsMissing(Ayırıcı) Sonra Ayırıcı = " " End If FW = Left(Text, InStr(1, Text, Separator, vbTextCompare)) GETFW = Replace(FW) , Ayırıcı, "") Bitiş Fonksiyonu
Kod Açıklama: - Yukarıdaki kodda değişkenlerle birlikte fonksiyon adından bahsetmiştik. Ardından, kelimeyi cümleden veya hücreden çıkarmak için kriterleri tanımladık.
Şimdi bu formülü nasıl kullanacağımızı öğreneceğiz. Aşağıda verilen adımları izleyin: -
- Excel Sayfasına gidin.
- Bu formülü D9 hücresinde kullanın.
- =GETFW(C9) ve Enter'a basın.
- İşlev, verilerden ilk kelimeyi döndürür. Şimdi, tüm hücreler için ilk kelimeyi almak için aynı formülü aralığa kopyalayın.
Şimdi hücreden son kelimeyi çıkarmak için kodu yazacağız. Aşağıda belirtilen kodu izleyin: -
- VBA Sayfasını açın Alt+F11 tuşuna basın.
- Bir modül yerleştirin.
- Aşağıda belirtilen kodu yazın:-
Fonksiyon GETLW(Text As String, Opsiyonel Ayırıcı As Variant) Dim LW As String IsMissing(Ayırıcı) Then Separator = " " End If LW = StrReverse(Text) LW = Left(lastword, InStr(1, LW, Separator, vbTextCompare) ) GETLW = StrReverse(Değiştir(LW, Ayırıcı, "")) Bitiş Fonksiyonu
Şimdi bu formülü nasıl kullanacağımızı öğreneceğiz. Aşağıda verilen adımları izleyin: -
- Excel Sayfasına gidin.
- Bu formülü D9 hücresinde kullanın.
- =GETLW(C9) Enter'a basın.
- İşlev, verilerden son kelimeyi döndürür. Şimdi, tüm hücreler için son kelimeyi almak için aralıktaki aynı formülü kopyalayın.
Bunlar VBA üzerinden tanımlayıp Excel'in formülü olarak kullanabileceğimiz fonksiyonlardır. Ayrıca daha birçok kullanıcı tanımlı fonksiyon oluşturabiliriz. Bizimle öğrenmeye devam edin, daha zor formüller bulacağız.