Pengembalian VBA

Pernyataan Pengembalian VBA Excel

VBA luar biasa dan penyelamat bagi mereka yang tahu masuk dan keluar dari pengkodean VBA, ini dapat menghemat banyak waktu di tempat kerja kita. Di artikel kami sebelumnya, kami telah membahas banyak hal dan konsep pengembalian VBA. Salah satu konsep tersebut adalah pernyataan Pengembalian GoSub. Pada artikel ini, kami akan memperkenalkan Anda pada konsep-konsep ini.

Apa itu Pernyataan Pengembalian GoSub?

Pernyataan "Go Sub" berarti akan pergi ke baris kode yang ditunjukkan oleh label melalui nama dan melakukan serangkaian tugas tertentu sampai menemukan pernyataan "Kembali".

Ini mirip dengan pernyataan penangan kesalahan "GoTo Label" tetapi apa yang dilakukan "GoSub Return" adalah akan kembali ke baris kode berikutnya daripada melanjutkan dari nama label.

Di bawah ini adalah sintaks dari pernyataan Pengembalian GoSub VBA.

GoSub [Nama Label] … .. Baris Kode [Nama Label]: … .. Baris Kode untuk melakukan tugas

Saya tahu sulit untuk memahami dari membaca sintaks tetapi menggunakan contoh Anda mungkin dapat memahami konsepnya.

Sebelum saya pergi ke contoh, izinkan saya memberi tahu beberapa hal tentang pernyataan ini.

  • Pernyataan GoSub memanggil subrutin dalam vba yang dinamai dengan label dalam rutinitas atau Fungsi yang sama.
  • Baik GoSub dan Return harus berada dalam prosedur yang sama, kita tidak dapat memanggil makro subrutin lain di sini.
  • Anda dapat memperkenalkan sejumlah pernyataan Pengembalian GoSub.
  • Pernyataan kembali akan melanjutkan eksekusi kode dari tempat yang ditinggalkannya sebelum melompat ke subprocedure yang ditunjukkan dengan nama label.

Bagaimana cara menggunakan Pernyataan Pengembalian GoSub di VBA?

Anda dapat mengunduh Template Excel Kembali VBA ini di sini - Template Excel Kembali VBA

Contoh 1

Untuk memahami penggunaan statement ini lihat dulu kode di bawah ini, nanti saya akan jelaskan kode baris demi baris.

Kode:

 Sub Go_Sub_Return () GoSub Makro1 'Nama Label1 GoSub Makro2' Nama Label2 GoSub Makro3 'Nama Label3 Keluar Sub Makro1: MsgBox "Sekarang menjalankan Macro1" Kembali Makro2: MsgBox "Sekarang menjalankan Macro2" Kembali Makro3: MsgBox "Sekarang menjalankan Macro3" Kembali Akhir Sub 

Untuk memahami kode ini mari kita jalankan kode baris demi baris dengan menekan tombol F8. Saat menekan tombol F8 pertama kali itu akan memulai makro yang berjalan.

Sekarang tekan tombol F8 sekali lagi untuk pergi ke baris berikutnya.

Kita semua tahu makro akan menjalankan kode baris demi baris, tetapi jika Anda menekan tombol F8 itu tidak akan pergi ke baris berikutnya melainkan bekerja secara berbeda.

Itu telah melompat ke label bernama "Macro1", ini karena dalam pernyataan sebelumnya "GoSub" kami telah menginstruksikan makro untuk pergi ke nama label subprocedure "Macro1", jadi sesuai itu telah melompat ke nama label masing-masing.

Sekarang dengan menekan tombol F8 excel makro akan menjalankan tugas label "Macro1" untuk menampilkan hasilnya di kotak pesan.

Klik Ok di kotak pesan untuk kembali ke jendela pengkodean.

Sekarang telah disorot pernyataan "Kembali" jika Anda menekan tombol F8 sekali lagi apa yang akan dilakukannya adalah "Kembali" ke baris kode sebelumnya sebelum melompat ke nama label.

Terakhir kali menjalankan kode "GoSub Macro1" dan menjalankan tugas nama label "Macro1" karena kami telah menyebutkan pernyataan "Kembali" itu kembali ke baris kode berikutnya yaitu

“GoSub Macro2”

Apa yang dikatakan pernyataan itu adalah, "pergi ke label bernama Macro2". Di bawah untuk label "Macro2", saya telah menyebutkan satu set tugas tertentu.

Sekarang kita akan mendapatkan tugas subprocedure kedua untuk menunjukkan nilai di kotak pesan.

Sekarang klik Ok itu akan menyoroti pernyataan "Kembali" kedua.

Sekarang setelah mengklik tombol F8, itu akan kembali ke baris kode berikutnya sebelum kembali ke label "Macro2". Sekarang akan menyorot "GoSub Macro3".

Sekarang akan masuk ke label "Macro3", tekan tombol F8.

Sekarang tugas label ketiga akan dijalankan.

Sekarang klik OK, itu akan menyorot pernyataan "Kembali".

Sekarang menekan tombol F8 sekali lagi akan melompat kembali ke baris kode "Exit Sub".

Tidak, itu akan keluar dari subrutin. Anda perlu menambahkan kata "Exit Sub" jika tidak maka akan terjadi error.

Contoh # 2

Sekarang lihat satu lagi contoh penggunaan pernyataan GoSub Return.

Kode:

 Sub Go_Sub_Return1 () Dim Num As Long Num = Application.InputBox (Prompt: = "Please enter the number here", Title: = "Divsion Number") Jika Num> 10 Maka GoSub Division Else MsgBox "Number kurang dari 10" Exit Sub Akhir Jika Keluar Sub Bagian: MsgBox Num / 5 Kembali Akhir Sub 

Kode ini akan meminta Anda untuk memasukkan angka yaitu> 10, jika angka> 10 maka akan melakukan tugas membaginya dengan 5 (Label Name is “Division”) atau akan muncul pesan “Number is kurang dari 10".

Hal-hal untuk diingat

  • Nama label harus sama dalam pernyataan GoSub dan Return dan dalam pernyataan pengembalian nama label harus diikuti oleh titik dua (:).
  • Selalu gunakan Exit Sub di VBA setelah semua pernyataan pengembalian selesai untuk menghindari pesan kesalahan.