Bu eğitim size VBA'daki bir alt prosedürden bir değerin nasıl döndürüleceğini öğretecektir.
Bir alt prosedür bir değer döndürmek için tasarlanmamıştır - bir fonksiyon prosedürü bunun için kullanılır. Ancak, bir alt prosedürde, o alt prosedürden bir değer almanız gereken bazı kodları çalıştırdığınız bir zaman olabilir. Bunu yapmanın yolu, Modül veya Global Değişkenleri kullanmak veya bir Excel sayfasını doldurmak için bir Alt Prosedür kullanmaktır.
Değer Döndürmek İçin Değişkenleri Kullanma
Modül düzeyinde değişkenler bildirebilirsiniz. Bunu yaparken, bu değişkenler modül içinde herhangi bir yerde kullanılabilir ve değişkenler değerlerini korur. Modül düzeyinde bir değişken bildirmek için, kod modülünüzün en üstünde değişkeni bildirmeniz yeterlidir:
123456789 | Seçenek AçıkÇift Kişilik Olarak Dim dblQtyAlt TestA()'TestB alt birimini arayınTestB'yi arayın'modül penceresinde değişken değerini gösterDebug.Print dblQtyAlt Bitiş |
1234 | Alt TestB()'modül değişkenini doldurundblQty = 900Alt Bitiş |
Bunları bir araya getirmek için TestA'yı çalıştırırdık, bu da TestB'yi çağırır ve bize hemen pencerede 900 değerini verir.
Değişken, Modül düzeyinde Dim ifadesi kullanılarak bildirildiğinden, bu yalnızca modül içinde çalışır.
Küresel değişken
Proje modüllerinizde kullanmak için değişkeni global düzeyde bildirebilirsiniz.
Bir Excel Sayfasını Doldurmak için Alt Prosedürü Kullanma
Aşağıdaki Alt Prosedür, Excel sayfanızda A1 ila C1 Aralığını doğrudan dolduracak ve böylece Alt Prosedürden hücrelere değerler döndürecektir.
12345 | Alt PopulateRange()Range("A1") = "Ürün"Aralık("B1") = "Miktar"Aralık("C1") = "Maliyet"Alt Bitiş |
Daha sonra hücre değerlerine başvurarak bu değerlere başka bir prosedürde başvurabilirsiniz:
1234567 | Alt AlmaRange()Dim Ürün, Uzun Miktar, Çift Olarak MaliyetÜrün = Aralık("A1")Miktar = Aralık ("B1")Maliyet = Aralık("C1")Alt Bitiş |