Bagaimana cara menggunakan pernyataan goto dalam kode vba?
Pernyataan VBA GoTo membantu eksekusi kode menavigasi ke baris tertentu dalam prosedur. Secara sederhana, dengan pernyataan goto, VBA melompat ke baris tertentu yang telah Anda tentukan. Misalnya, jika Anda menentukan untuk melompat ke baris kedua, go akan melompat ke baris tersebut.
Cara menggunakan pernyataan VBA GoTo dalam kode
- Pertama, Anda perlu menggunakan pernyataan goto.
- Setelah itu Anda perlu menentukan ke mana Anda ingin VBA pergi dari goto.
- Selanjutnya, buat tag untuk membuat tempat ini di prosedur.
- Pada akhirnya, tambahkan baris kode yang ingin Anda jalankan.
Sub vba_goto() GoTo Last Range ("A1"). Select Last : Range ("A12"). Select End Sub
GoTo untuk mengulangi kode
Anda juga dapat menggunakan pernyataan go to untuk mengulang kode menggunakan serangkaian kondisi.
Sub goto_repeat() Dim iMessage As String Question: iMessage = InputBox("what's the day today?") If iMessage <> "tuesday" Then MsgBox ("wrong answer, try again.") GoTo Question Else MsgBox ("that's the right answer.") End If End Sub
Ketika Anda menjalankan kode di atas, ia akan menanyakan nama hari itu dan jika Anda memasukkan selain “Selasa”, ia akan mengulangi pertanyaan tersebut. Jika Anda melihat kodenya, Anda dapat melihat bahwa kita perlu menggunakan pernyataan goto dan pernyataan if .
Sekarang, ketika pengguna memasukkan apa pun selain jawaban yang benar, pernyataan goto memaksa VBA untuk mengulangi kode tersebut. (tetapi setiap kali Anda menggunakan kode jenis ini, Anda harus sangat berhati-hati karena dapat menciptakan perulangan tanpa akhir.
VBA Lanjut ke akhir
Anda juga dapat keluar dari sub menggunakan pernyataan goto.
Pada kode di atas, kita telah menggunakan tag “terakhir” tepat sebelum pernyataan akhir dan ketika VBA mencapai pernyataan GoTo, itu membuat VBA melompat ke “Terakhir” di akhir prosedur.
Pernyataan GoTo untuk menuju ke baris di subrutin lain
Nah, pernyataan going to cukup berguna untuk membuat VBA melompat dari satu tempat ke tempat lain, tetapi tidak mungkin untuk melompat ke prosedur lain dalam modul .