- Katılım
- 25 May 2018
- Mesajlar
- 1,608
- En iyi yanıt
- 14
- Puanları
- 113
- Konum
- İstanbul
- Web sitesi
- excelarsivi.com
- Ad Soyad
- Murat OSMA
- Office Vers.
- Office 365 TR+EN
Fonksiyonlarda argümanları belirtirken ByVal ve ByRef ifadeleri kullanılır.
Val: Value yani Değerin kısaltmasıdır
Ref: Reference yani Referansın kısaltmasıdır.
Yani; Fonksiyon içinde kullanılan değişkenlerin Değere ve Referansa göre değerlendirilmesini sağlayabiliyoruz.
Eğer ByVal ifadesi kullanılırsa, ilgili argüman, gidilen prosedürdeki değer ne ise değişmeden geri döndürülür.
Eğer ByRef ifadesi kullanılırsa, ilgili argüman, gidilen prosedürdeki değer ne ise onunla değişerek geri döndürülür.
İhtiyaca göre değişmekle beraber KTF'lerde daha çok ByVal ifadesinin kullanıldığını görürsünüz.
Şimdi bu iki ifadenin de nasıl sonuç verdiğini görelim.
ByRef olarak belirttiğimiz argümanın değişerek Gümüşhane olarak geri döndüğünü, ByVal olarak belirttiğimiz argümanın ise değişmeden geri döndüğünü görebilirsiniz.
Val: Value yani Değerin kısaltmasıdır
Ref: Reference yani Referansın kısaltmasıdır.
Yani; Fonksiyon içinde kullanılan değişkenlerin Değere ve Referansa göre değerlendirilmesini sağlayabiliyoruz.
Eğer ByVal ifadesi kullanılırsa, ilgili argüman, gidilen prosedürdeki değer ne ise değişmeden geri döndürülür.
Eğer ByRef ifadesi kullanılırsa, ilgili argüman, gidilen prosedürdeki değer ne ise onunla değişerek geri döndürülür.
İhtiyaca göre değişmekle beraber KTF'lerde daha çok ByVal ifadesinin kullanıldığını görürsünüz.
Şimdi bu iki ifadenin de nasıl sonuç verdiğini görelim.
ByRef olarak belirttiğimiz argümanın değişerek Gümüşhane olarak geri döndüğünü, ByVal olarak belirttiğimiz argümanın ise değişmeden geri döndüğünü görebilirsiniz.
PHP:
Sub ExcelTurkey()
Dim il As String
il = "İstanbul"
Call Degistir_ByRef(il)
MsgBox il
Call Degistirme_ByVal(il)
MsgBox il
End Sub
Sub Degistir_ByRef(ByRef argu As String)
argu = "Gümüşhane"
End Sub
Sub Degistirme_ByVal(ByVal argu As String)
argu = "Ankara"
End Sub
Son düzenleme: