VBA ByRef

VBA ByRef

Argumen Fungsi Excel VBA ByRef

ByRef di VBA adalah fungsi yang disebut dengan referensi di mana kami memberikan referensi ke argumen apa pun dalam kode kami. Saat kita membuat fungsi kustom dan ingin menggunakan nilai variabel apa pun yang ditentukan sebelumnya sebelum fungsi, kita menggunakan fungsi ByRef. Sintaksnya sederhana seperti Nama-Fungsi (Variabel ByRef sebagai Tipe Data).

Menggunakan ByRef, kita dapat menunjuk ke nilai variabel asli tanpa mengubah nilai variabel. Ini seperti meneruskan nilai variabel langsung ke subprosedur VBAVBA SubprosedurSUB di VBA adalah prosedur yang berisi semua kode yang secara otomatis memberikan pernyataan sub akhir dan bagian tengah digunakan untuk pengkodean. Sub pernyataan dapat publik dan swasta dan nama subprosedur adalah wajib di VBA.Baca lebih lanjut atau fungsi VBAFungsi VBAFungsi VBA melayani tujuan utama untuk melakukan perhitungan tertentu dan mengembalikan nilai. Oleh karena itu, di VBA, kami menggunakan sintaks untuk menentukan parameter dan tipe data saat mendefinisikan fungsi. Fungsi semacam itu disebut fungsi yang ditentukan pengguna.Baca lebih lanjut.

Anda bebas menggunakan gambar ini di situs web Anda, templat, dll., Harap berikan kami tautan atribusiBagaimana Memberikan Atribusi? Tautan Artikel menjadi Hyperlink
Misalnya: Sumber: VBA ByRef (wallstreetmojo.com)

Bagaimana cara Melewati Argumen menggunakan VBA ByRef Argument?

Contoh 1

Lihat kode VBA Kode VBA Kode VBA mengacu pada serangkaian instruksi yang ditulis oleh pengguna dalam bahasa pemrograman Visual Basic Applications pada Visual Basic Editor (VBE) untuk melakukan tugas tertentu. Baca lebih lanjut di bawah ini.

Kode1:

Sub Procedure1() Dim k As Integer k = 50 Procedure2 k MsgBox k End Sub

Kode2:

Sub Procedure2(ByRef k Sebagai Integer) k = k + 10 End Sub

Pada prosedur pertama, kita mendeklarasikan variabel “k” sebagai “Integer”.

Kemudian kami telah menetapkan nilai ke variabel ini sebagai 50.

Setelah itu, kami menambahkan baris baru yaitu

Prosedur2 k

Ini adalah nama prosedur kedua. Dalam prosedur ini, kami telah mendeklarasikan variabel di dalam tanda kurung sebagai String di VBAString Dalam fungsi VBAString di VBA jangan mengganti string; sebagai gantinya, fungsi ini membuat string baru. Ada banyak fungsi string di VBA, semuanya diklasifikasikan sebagai fungsi string atau teks. Baca lebih lanjut, tetapi kami telah menggunakan kata “ByRef”.

ByRef k Sebagai Integer

Di sini saya telah menetapkan nilai variabel ‘k’ sebagai

k = k + 10

Kami akan menjalankan kode langkah demi langkah dengan menekan tombol F8.

Tekan tombol F8 dua kali lagi dan tempatkan kursor pada variabel “k” untuk melihat nilai variabel “k.”

Karena kita telah menetapkan nilai sebagai 50, ini menunjukkan nilai sebagai 50. Sekarang, baris Procedure2 k telah disorot, yang merupakan nama prosedur kedua.

Jika kita menekan tombol F8 sekarang, itu akan melompat keluar dari prosedur saat ini dan pergi ke prosedur kedua.

Karena kami menggunakan kata ByRef, itu membawa nilai variabel “k” dari prosedur di atas.

Tekan tombol F8 dua kali. Ini akan kembali ke subprosedur sebelumnya. Jika Anda perhatikan, pada prosedur kedua, kami telah menerapkan rumus sebagai k = k + 10. yaitu, nilai “k” adalah 50, lalu tambahkan 10 lagi, yaitu total 60.

Sekarang, kode sedang berjalan di prosedur pertama, dan di prosedur ini, nilai variabel “k” adalah 50. Tapi tekan tombol F8 dan lihat hasilnya di kotak pesan.

Kami mendapat hasil 60, bukan nilai default 50 dalam prosedur ini.

Kami mendapat 60 karena, dalam prosedur kedua, kami menerapkan “ByRef,” sehingga membawa hasil persamaan (k = k + 10) ke prosedur saat ini.

Di sini, nilai “k” variabel pertama adalah 50, dan pada prosedur kedua, nilai variabel “k” adalah k + 10, yaitu 60, dibawa ke prosedur pertama.

Pada prosedur pertama nilai asli variabel “k” adalah 50, maka By Ref telah mengubah nilai asli dari 50 menjadi 60 dengan mengeksekusi persamaan k = k + 10 yaitu k = 50 +10 = 60.

Contoh #2

Lihatlah satu contoh lagi.

Kode 1:

Sub P1() Dim MyNumber As Long MyNumber = 1 Call Change_ByRef(MyNumber) ‘ MyNumber diubah oleh prosedur Change_ByRef MsgBox “My Number is now: ” & MyNumber End Sub

Kode

Sub Change_ByRef(ByRef NewNumber As Long) NewNumber = 14 End Sub

Cara kerjanya sama dengan kode sebelumnya.

Awalnya nilai variabel “MyNumber” adalah 1. Kemudian kita panggil prosedur di bawah ini dengan namanya.

Hubungi Change_ByRef(MyNumber)

Dalam prosedur tersebut, nilai variabelnya adalah 14.

Jadi, ketika kembali ke prosedur sebelumnya, itu akan menetapkan nilai baru ke variabel sebagai 14.

Artikel yang Direkomendasikan

Artikel ini telah menjadi panduan untuk VBA ByRef. Di sini, kita membahas penyampaian argumen menggunakan fungsi VBA ByRef, contoh, dan template Excel yang dapat diunduh. Anda dapat mempelajari lebih lanjut tentang VBA dari artikel berikut: –

  • VBA Keluar Sub
  • Operator Excel VBA
  • Tipe Data Integer di VBA
  • Putaran VBA

Related Posts