VBA Çalışma Sayfası İşlevi | VBA'da WorksheetFunction Nasıl Kullanılır?

Excel VBA Çalışma Sayfası İşlevleri

VBA'daki çalışma sayfası işlevi, belirli bir çalışma sayfasına başvurmamız gerektiğinde kullanılır, normalde bir modül oluşturduğumuzda, kodun çalışma kitabının şu anda etkin sayfasında yürütülür, ancak kodu belirli çalışma sayfasındaki çalıştırmak istersek çalışma sayfası işlevini kullanırız, bu işlevin VBA'da çeşitli kullanımları ve uygulamaları vardır.

VBA ile ilgili en iyi şey, formülleri çalışma sayfasında nasıl kullandığımız gibi, VBA'nın da kendi işlevlerine sahip olmasıdır. Eğer en iyisi buysa, o zaman güzel bir şeye de sahiptir, "çalışma sayfası işlevlerini VBA'da da kullanabiliriz".

Evet!!! Doğru duydunuz, VBA'daki çalışma sayfası işlevlerine de erişebiliriz. Kodu yazarken çalışma sayfası işlevlerinden bazılarına erişebilir ve onu kodumuzun bir parçası haline getirebiliriz.

VBA'da Çalışma Sayfası İşlevleri nasıl kullanılır?

Bu VBA WorksheetFunction Şablonunu buradan indirebilirsiniz - VBA WorksheetFunction Template

Çalışma sayfasında, tüm formüller eşit (=) işaretiyle başlar, VBA kodlamasında da benzer şekilde çalışma sayfası formüllerine erişmek için "Çalışma Sayfası Fonksiyonu" kelimesini kullanmalıyız .

Herhangi bir çalışma sayfası formülünü girmeden önce, “WorksheetFunction” nesne adını belirtmeniz ve ardından bir nokta (.) Koymanız gerekir, ardından bu nesne altında mevcut tüm işlevlerin bir listesini alacaksınız.

Bu yazıda, kodlama bilginize daha fazla değer katacak VBA kodlamada çalışma sayfası işlevinin nasıl kullanılacağına özel olarak odaklanacağız.

# 1 - Basit TOPLA Çalışma Sayfası İşlevleri

Tamam, çalışma sayfası işlevleriyle başlamak için, çalışma sayfasından sayılar eklemek için excel'de basit TOPLA işlevini uygulayın.

Çalışma sayfasında aşağıdaki gibi aylık satış ve maliyet verileriniz olduğunu varsayalım.

B14 ve C14'te yukarıdaki sayıların toplamına ulaşmamız gerekir. Excel VBA'da “TOPLA” işlevini uygulama sürecini başlatmak için aşağıdaki adımları izleyin.

Adım 1: Basit bir excel makro adı oluşturun.

Kod:

 Alt Çalışma Sayfası_Function_Example1 () End Sub 

Adım 2: B14 hücresindeki sonuca ihtiyacımız olduğundan, kodu Aralık ("B14") olarak başlatın . Değer =

Kod:

 Alt Çalışma Sayfası_Function_Example1 () Aralık ("B14"). Değer = Son Alt 

Adım 3: B14'te sayıların toplamının sonucu olarak değere ihtiyacımız var. Bu nedenle, çalışma sayfasından TOPLA işlevine erişmek için kodu “Çalışma Sayfası İşlevi olarak başlatın .

Kod:

Alt Çalışma Sayfası_Function_Example1 () Aralık ("B14") Değer = Çalışma SayfasıFonksiyonu. Sub

Adım 4: Bir nokta (.) Koyduğunuz anda mevcut işlevler görüntülenmeye başlayacaktır. Bu yüzden bundan TOPLA seçin.

Kod:

 Alt Çalışma Sayfası_Function_Example1 () Aralık ("B14"). Değer = Çalışma SayfasıFonksiyonu.Sum Son Alt 

Adım 5: Şimdi yukarıdaki sayıların referansını verin, yani Aralık ("B2: B13").

Kod:

 Sub Worksheet_Function_Example1 () Range ("B14"). Value = WorksheetFunction.Sum (Aralık ("B2: B13")) End Sub 

Adım 6: Benzer şekilde sonraki sütun için hücre referanslarını değiştirerek benzer kodu uygulayın.

Kod:

 Alt Çalışma Sayfası_Function_Örnek1 () Aralık ("B14"). Değer = Çalışma SayfasıFonksiyon.Sum (Aralık ("B2: B13")) Aralık ("C14"). Değer = Çalışma SayfasıFonksiyon.Sum (Aralık ("C2: C13")) Son Alt 

Adım 7: Şimdi bu kodu manuel olarak veya B14 ve C14 hücrelerinde toplam almak için F5 tuşunu kullanarak çalıştırın.

Vay canına, değerlerimizi aldık. Burada dikkat etmeniz gereken bir şey, çalışma sayfasında herhangi bir formülümüz yok, ancak VBA'daki "TOPLA" işlevinin sonucunu aldık.

# 2 - DÜŞEYARA işlevini Çalışma Sayfası İşlevi olarak kullanın

VBA'da DÜŞEYARA'nın nasıl kullanılacağını göreceğiz. Excel sayfanızda bulunan verilerin aşağıda olduğunu varsayalım.

E2 hücresinde tüm bölgelerin bir açılır listesini oluşturdunuz.

E2 hücresinde yaptığınız seçime bağlı olarak, ilgili bölge için Pin Kodunu almamız gerekir. Ancak bu sefer VBA VLOOKUP aracılığıyla, çalışma sayfası VLOOKUP ile değil. DÜŞEYARA uygulamak için aşağıdaki adımları izleyin.

Adım 1: Alt Prosedürde basit bir makro adı oluşturun.

Kod:

 Alt Çalışma Sayfası_Function_Example2 () End Sub 

Step 2: We need the result in the F2 cell. So start the code as Range (“F2”).Value =

Code:

 Sub Worksheet_Function_Example2() Range ("F2").Value = End Sub 

Step 3: To access worksheet function VLOOKUP starts the code as “WorksheetFunction.VLOOKUP”.

Code:

 Sub Worksheet_Function_Example2() Range ("F2").Value = WorksheetFunction.Vlookup( End Sub 

Step 4: One of the problems here is syntax will not give you any sort of guidance to work with VLOOKUP. You need to be absolutely sure about the syntax you are working on.

The first syntax of VLOOKUP is “Lookup Value”. In this case, our lookup value is E2 cell value, so write the code as Range (“E2”).Value

Code:

 Sub Worksheet_Function_Example2() Range ("F2").Value = WorksheetFunction.Vlookup(Range ("E2").Value, End Sub 

Step 5: Now the second argument is our table array, in this case, our table array range is from A2 to B6. So the code will be Range (“A2:B6”)

Code:

 Sub Worksheet_Function_Example2() Range ("F2").Value = WorksheetFunction.Vlookup(Range ("E2").Value,Range ("A2:B6"), End Sub 

Step 6: The Third argument will be from which column we need the data from the table array. Here we need the data from the 2nd column, so the argument will be 2.

Code:

 Sub Worksheet_Function_Example2() Range ("F2").Value = WorksheetFunction.Vlookup(Range ("E2").Value,Range ("A2:B6"),2, End Sub 

Step 7: The final argument is range lookup, we need an exact match so the argument is zero (0).

Code:

 Sub Worksheet_Function_Example2() Range("F2").Value = WorksheetFunction.VLookup(Range("E2").Value, Range("A2:B6"), 2, 0) End Sub 

So, we are done with the coding part. Now go to the worksheet and select any of the range.

Now go to your coding module and run the macro Using F5 key or manually to get the pin code of the selected zone.

We cannot go back and run the macro every time, so let’s assign a macro to shapes. Insert one of the shapes in a worksheet.

Add a text value to inserted shape.

Now right click and assign the macro name to this shape.

Click on ok after selecting the macro name.

Now, this shape holds the code of our VLOOKUP formula. So whenever you change the zone name click on the button, it will update the values.

Things to Remember

  • To access worksheet functions we need to write the word “WorksheetFunction” or “Application.WorksheetFunction”
  • We don’t have access to all the functions only a few.
  • We don’t see the actual syntax of worksheet functions, so we need to be absolutely sure of the function we are using.