Penyata GoTo VBA - Bagaimana cara menggunakan Pernyataan GoTo di VBA?

Isi kandungan

Penyata GoTo Excel VBA

Pernyataan VBA GoTo digunakan apabila ralat berlaku semasa menjalankan kod dan bukannya menunjukkan ralat untuk menyambung semula baris kod seterusnya dengan mengabaikan mesej ralat. Terdapat dua jenis pernyataan GOTO yang pertama adalah memilih mana-mana julat lembaran kerja dalam buku kerja yang ditentukan dan yang lain adalah pengendali ralat.

Untuk mengatasi kesalahan yang dijangkakan dalam VBA, kami memiliki fungsi yang disebut "GOTO." Kami akan melihat kedua-dua jenis pernyataan GoTo dalam artikel ini.

2 Cara menggunakan Pernyataan GoTo dalam Kod VBA

# 1 - Kaedah Aplikasi.GoTo

Sekiranya anda ingin pergi ke buku kerja atau lembaran kerja tertentu di semua buku kerja yang dibuka, kami boleh menggunakan kaedah penyataan Application.GoTo.

Mari lihat sintaks kaedah Application.GoTo

  • (Rujukan): Ini hanyalah rujukan sel yang ditentukan. Sekiranya rujukan tidak diberikan secara lalai, ia akan membawa anda ke julat sel yang terakhir digunakan.
  • (Tatal): Ini adalah pernyataan logik BENAR atau SALAH. Sekiranya nilainya BENAR, ia akan menatal melalui tetingkap. Sekiranya nilai jika SALAH, ia tidak akan menatal melalui tetingkap.
Contohnya

Sekiranya anda ingin pergi ke sel tertentu dalam lembaran kerja tertentu, kami boleh menggunakan kaedah Goto. Saya mempunyai 3 helai yang diberi nama Jan, Feb, dan Mar.

Sekiranya saya ingin pergi ke sel C5 dalam helaian Jan, saya akan menggunakan set kod di bawah.

Langkah 1: Mulakan nama makro excel.

Kod:

Sub GoTo_Contoh1 () Akhir Sub

Langkah 2: Mulakan kaedah " Application.GoTo "

Kod:

Sub GoTo_Contoh1 ()

Permohonan. Pergi

Sub Akhir

Langkah 3: Dalam argumen rujukan, kita perlu menentukan nama lembaran kerja, dan dalam lembaran kerja itu, kita perlu menyebutkan sel tertentu.

Kod:

Sub GoTo_Example1 () Application.Goto Reference: = Lembaran Kerja ("Jan"). Julat ("C5") Sub Akhir

Langkah 4: Sebut tatal sebagai BENAR.

Kod:

Sub GoTo_Example1 () Application.Goto Reference: = Worksheets ("Jan"). Julat ("C5"), Scroll: = True End Sub

Langkah 5: Sekarang jalankan kod ini menggunakan kekunci F5, atau anda juga boleh menjalankan kod ini secara manual, ia akan membawa anda ke lembaran dan sel yang ditentukan.

Sekarang saya akan menukar argumen tatal menjadi SALAH dan melihat perubahan yang akan dihadapi.

Sub GoTo_Example1 () Application.Goto Reference: = Worksheets ("Jan"). Julat ("C5"), Scroll: = False End Sub

Sekiranya anda ingin pergi ke buku kerja tertentu, anda juga perlu menyebut nama buku kerja sebelum nama buku kerja.

Sub GoTo_Example1 () Application.Goto Reference: = Workbooks ("Book1.xlsx"). Lembaran kerja ("Jan"). Julat ("C5"), Tatal: = Sub Akhir Akhir

# 2 - Kaedah Penangan Ralat

Apabila baris kod tertentu mengalami ralat, maka VBA berhenti melaksanakan kod yang lain dan menunjukkan mesej ralat.

Contohnya, lihat baris kod di bawah.

Sub GoTo_Example2 () Helaian ("April"). Padam Helaian. Tambahkan Sub Akhir

Kod di atas mengatakan untuk menghapus helaian pada bulan April dan menambahkan helaian baru. Dalam buku kerja aktif, jika ada nama helaian yang disebut April, ia akan dipadamkan, atau yang lain akan menunjukkan kotak dialog mesej ralat di bawah.

Semasa saya menjalankan kod ini, buku kerja saya tidak mempunyai helaian yang disebut April, jadi kod VBA tidak dapat menemukan nama lembaran dan membuang kesalahan. Kadang-kadang kita perlu mengabaikan ralat ini kerana seringkali, jika tidak ada nama lembaran yang disebut April, maka kita perlu meneruskan baris kod yang lain.

Untuk menghilangkan ralat ini, kita dapat menggunakan kaedah GoTo sebagai pengendali ralat.

Sekarang saya akan mengubah kod kerana Kesalahan pada baris seterusnya.

Sub GoTo_Example2 () Pada Ralat GoTo NextLine Sheets ("April"). Padam NextLine: Sheets.Add End Sub

Sekiranya anda menjalankan ini, ia akan menambah helaian baru walaupun tidak ada nama lembaran yang disebut April.

Pernyataan "On Error GoTo NextLine" memahami bahawa jika ada ralat berlaku, ia akan melompat ke baris seterusnya, dan di baris seterusnya, kod VBA adalah untuk menambahkan lembaran baru.

Perkara yang Perlu Diingat

  • Sekiranya anda ingin melompat ke baris seterusnya apabila ralat berlaku, anda juga boleh menggunakan pernyataan On Error Resume Next VBA.
  • Untuk melangkah ke tahap berikutnya, anda perlu memastikan bahawa garis kod tertentu itu dijangkakan sebagai kesalahan.
  • Sekiranya garis penting kod melangkau dengan pengendali ralat ini, tugas anda mungkin tidak dapat diselesaikan dengan sempurna.

Artikel menarik...