VBA Set Beyanı - Nesne Değişkenlerine Değerler Nasıl Atanır?

İçindekiler

Excel VBA Set Beyanı

VBA Set, herhangi bir değer anahtarını atamak için kullanılan bir ifadedir , bir nesneyi veya bir değişkene başvuruyu belirtir, bu işlevi belirli bir değişken için parametreyi tanımlamak için kullanırız, örneğin, Set M = A yazarsak bu şimdi M anlamına gelir referans, A'nın sahip olduğu ile aynı değerlere ve niteliklere sahiptir.

VBA'da bir nesne excel'in temelidir çünkü nesneler olmadan hiçbir şey yapamayız. Nesneler Çalışma Kitabı, Çalışma Sayfası ve Aralıktır. Bir değişken tanımladığımızda, ona bir veri türü atamamız gerekir ve ayrıca nesneleri veri türleri olarak atayabiliriz. Bildirilen nesne değişkenlerine bir değer atamak için "SET" kelimesini kullanmamız gerekir. VBA'da yeni bir nesneye atıfta bulunmak için kullanılan “Set” kelimesi, örneğin, belirli çalışma sayfasının belirli aralığına atıfta bulunur.

Excel VBA Set İfadesi nasıl kullanılır?

# 1 - Aralık Nesne Değişkenleriyle İfadeyi Ayarlayın

Örneğin, A1 - D5 aralığını oldukça sık kullanmak istediğinizi varsayalım. Kodu her seferinde Aralık ("A1: D5") olarak yazmak yerine, değişkeni aralık olarak bildirebilir ve aralık referansını Aralık ("A1: D5") olarak belirleyebiliriz

Adım 1: Değişkeni bir Range nesnesi olarak bildirin.

Kod:

Alt Küme_Örneği ()

Karart MyRange as Range

Sub

2. Adım: Veri türünü aralık olarak atadığımız anda "Küme" kelimesini kullanın.

Kod:

Sub Set_Example () Dim MyRange'i Range Olarak Ayarla MyRange = End Sub

3. Adım: Şimdi aralıktan bahsedin.

Kod:

Sub Set_Example () Dim MyRange As Range Set MyRange = Aralık ("A1: D5") End Sub

Adım 4: Şimdi, "MyRange" değişkeni A1 - D5 aralığına eşittir. Bu değişkeni kullanarak bu aralığın tüm özelliklerine ve yöntemlerine erişebiliriz.

Excel'de kopyalayabilir, yorum ekleyebilir ve daha birçok şey yapabiliriz.

Örneğin, amaç, burada bazı sayılar oluşturdum.

Şimdi değişkeni kullanarak yazı tipi boyutunu 12 olarak değiştireceğim.

Kod:

Sub Set_Example () Dim MyRange Set As Range MyRange = Aralık ("A1: D5") MyRange.Font.Size = 12 End Sub

Bu, atanan aralığın yazı tipi boyutunu değiştirecektir.

Bunun gibi, "Set" kelimesini kullanarak belirli bir aralıkta birçok şey yapabiliriz.

# 2 - Çalışma Sayfası Nesne Değişkenleri ile İfadeyi Ayarlayın

VBA'da bir aralık nesnesiyle “set” in nasıl çalıştığını gördük. Çalışma sayfası nesnesiyle tamamen aynı şekilde çalışır.

Diyelim ki çalışma kitabınızda 5 çalışma sayfanız var ve belirli bir çalışma sayfasına geri dönmeye devam etmek istiyorsunuz. Bu çalışma sayfası adını tanımlı nesne değişkenine ayarlayabilirsiniz.

Örneğin, aşağıdaki koda bakın.

Kod:

Sub Set_Worksheet_Example () Dim Ws As Worksheet Set Ws = Çalışma Sayfaları ("Özet Sayfası") Son Alt

Yukarıdaki kodda "Ws" değişkeni bir nesne değişkeni olarak tanımlanmıştır ve sonraki satırda "Set" kelimesini kullanarak değişkeni "Özet Sayfası" adlı çalışma sayfasına ayarladık.

Şimdi bu değişkeni kullanarak, onunla ilişkili her şeyi yapabiliriz. Aşağıdaki iki kod kümesine bir göz atın.

1 - "Ayarlama" Kelimesi Olmadan

Kod:

Alt Küme_Çalışma Sayfası_Örnek1 () 'Çalışma Sayfaları ("Özet Sayfası") çalışma sayfasını seçmek için.' Çalışma Sayfalarını Etkinleştirmek İçin ("Özet Sayfası") seçeneğini seçin. Etkinleştir 'Çalışma Sayfalarını gizlemek için ("Özet Sayfası"). çalışma sayfalarını göster ("Özet Sayfası"). Visible = xlVisible End Sub

Çalışma sayfaları nesnesini "Özet Sayfası" sayfasına başvurmak için her kullandığımda, bu kodun çok uzun olmasını sağlıyor ve yazmak için çok zaman gerekiyor.

Büyük kodun bir parçası olarak, çalışma sayfasına her başvurmanız gerektiğinde çalışma sayfası adını bu şekilde yazmak sinir bozucudur.

Şimdi Set kelimesini Kodda kullanmanın avantajına bir göz atın.

# 2 - "Set" Kelimesi ile

Kod:

Sub Set_Worksheet_Example() Dim Ws As Worksheet Set Ws = Worksheets("Summary Sheet") 'To select the sheet Ws.Select 'To Activate the sheet Ws.Activate 'To hide the sheet Ws.Visible = xlVeryHidden 'To unhide the sheet Ws.Visible = xlVisible End Sub

The moment we set the worksheet name, we can see the variable name while entering the code as part of the list.

#3 - Set Statement with Workbook Object Variables

The real advantage of the word “Set” in VBA arises when we need to reference different workbooks.

When we work with different workbooks, it is so hard to type in the full name of the workbook, along with its file extension.

Assume you have two different workbooks named “Sales Summary File 2018.xlsx” and “Sales Summary File 2019.xlsx” we can set the two workbooks like the below code.

Code:

Alt Set_Workbook_Example1 () Dim Wb1 As Workbook Dim Wb2 As Workbook Set Wb1 = Workbooks ("Sales Summary File 2018.xlsx") Set Wb2 = Workbooks ("Sales Summary File 2019.xlsx") End Sub

Artık değişken Wb1, "Satış Özeti Dosyası 2018.xlsx" adlı çalışma kitabına ve değişken Wb2, "Satış Özet Dosyası 2019.xlsx" adlı çalışma kitabına eşittir.

Bu değişkeni kullanarak, çalışma kitabıyla ilişkili tüm özelliklere ve yöntemlere aslında erişebiliriz.

Kodu aşağıdaki gibi kısaltabiliriz.

Çalışma kitabını etkinleştirmek için Anahtar Sözcük Belirle'yi kullanmadan:

Çalışma kitapları ("Satış Özeti Dosyası 2018.xlsx"). Etkinleştir

Çalışma kitabını etkinleştirmek için Anahtar Sözcük Belirle'yi kullanma:

Wb1. Etkinleştir

Bu, kod lotunun yazılmasını kolaylaştırır ve ayrıca çalışma kitabı adı ayarlandıktan sonra, çalışma kitabı adlarında yazım hatası endişesi vardır.

Ilginç makaleler...