VBA GoTo Bildirimi - GoTo İfadesi VBA'da nasıl kullanılır?

Excel VBA GoTo Bildirimi

VBA GoTo deyimi, hata mesajını yok sayarak sonraki kod satırını devam ettirmek için hata görüntülemek yerine kod çalıştırılırken bir hata oluştuğunda kullanılır. İki tür GOTO ifadesi vardır; biri, belirtilen çalışma kitabındaki çalışma sayfasının herhangi bir aralığını seçmektir, diğeri ise hata işleyicidir.

VBA'da beklenen hataların üstesinden gelmek için "GOTO" adında bir işleve sahibiz. Bu makalede her iki tür GoTo ifadesini de göreceğiz.

GoTo İfadesini VBA Kodunda kullanmanın 2 Yolu

# 1 - Application.GoTo Yöntemi

Açılan tüm çalışma kitaplarında belirli bir çalışma kitabına veya belirli çalışma sayfasına gitmek isterseniz, Application.GoTo yöntemini kullanabiliriz.

Application.GoTo yönteminin sözdizimine bakalım

  • (Başvuru): Bu, belirli bir hücre başvurusundan başka bir şey değildir. Referans varsayılan olarak sağlanmadıysa, sizi en son kullanılan hücre aralığına götürür.
  • (Kaydırma): Bu, DOĞRU veya YANLIŞ'ın mantıksal bir ifadesidir. Değer DOĞRU ise, pencerede kayacaktır. Değer YANLIŞ ise, pencerede kaymayacaktır.
Misal

Belirli bir çalışma sayfasında belirli bir hücreye gitmek isterseniz, Goto yöntemini kullanabiliriz. Jan, Feb ve Mar adlarında 3 sayfam var.

Ocak sayfasındaki C5 hücresine gitmek istersem, aşağıdaki kod setini kullanacağım.

Adım 1: Excel makro adını başlatın.

Kod:

Alt Hedef_Örnek1 () Son Alt

Adım 2: " Application.GoTo " yöntemini başlatın

Kod:

Alt Hedef_Örnek1 ()

Application.Goto

Sub

Adım 3: Referans argümanında, çalışma sayfası adını belirtmemiz gerekiyor ve bu çalışma sayfasında belirli hücreyi belirtmemiz gerekiyor.

Kod:

Sub GoTo_Example1 () Application.Goto Reference: = Çalışma Sayfaları ("Jan"). Aralık ("C5") End Sub

4. Adım: Kaydırmadan DOĞRU olarak bahsedin.

Kod:

Sub GoTo_Example1 () Application.Goto Reference: = Çalışma Sayfaları ("Jan"). Aralık ("C5"), Kaydırma: = True End Sub

Adım 5: Şimdi bu kodu F5 tuşunu kullanarak çalıştırın veya bu kodu manuel olarak da çalıştırabilirsiniz, sizi belirtilen sayfaya ve belirtilen hücreye götürecektir.

Şimdi kaydırma bağımsız değişkenini FALSE olarak değiştireceğim ve karşılaşacağı değişikliği göreceğim.

Sub GoTo_Example1 () Application.Goto Referansı: = Çalışma Sayfaları ("Jan"). Aralık ("C5"), Kaydırma: = Yanlış Son Alt

Belirli bir çalışma kitabına gitmek istiyorsanız, çalışma kitabı adından önce de çalışma kitabının adını belirtmeniz gerekir.

Sub GoTo_Example1 () Application.Goto Reference: = Çalışma Kitapları ("Book1.xlsx"). Çalışma Sayfaları ("Jan"). Aralık ("C5"), Kaydırma: = False End Sub

# 2 - Hata İşleyici Yöntemi

Belirli bir kod satırı bir hatayla karşılaştığında, VBA kodun geri kalanını yürütmeyi durdurur ve hata mesajını gösterir.

Örneğin, aşağıdaki kod satırına bakın.

Sub GoTo_Example2 () Sayfalar ("Nisan"). Sayfaları Silin.

Yukarıdaki kod, sayfayı Nisan ayında silip yeni bir sayfa eklemenizi söylüyor. Etkin çalışma kitabında, Nisan adında herhangi bir sayfa adı varsa, silinecek veya aşağıdaki hata mesajı diyalog kutusunu gösterecektir.

Bu kodu çalıştırdığımda, çalışma kitabımın Nisan adında bir sayfası yoktu, bu nedenle VBA kodu sayfa adını bulamadı ve hatayı attı. Bazen bu hatayı görmezden gelmemiz gerekir çünkü çoğu zaman April adında bir sayfa adı yoksa, o zaman diğer kod satırlarıyla devam etmemiz gerekir.

Bu hatayı ortadan kaldırmak için GoTo yöntemini bir hata işleyici olarak kullanabiliriz.

Şimdi kodu On error sonraki satıra geçecek şekilde değiştireceğim.

Sub GoTo_Example2 () Hata Oluştuğunda NextLine Sayfalarına Git ("Nisan"). NextLine'ı Sil: Sheets.Add End Sub

Bunu çalıştırırsanız, Nisan adında bir sayfa adı olmasa bile yeni sayfayı ekleyecektir.

İfadesi “Hata GoTo nextLine Üzerine” herhangi bir hata oluşursa, bir sonraki satıra atlamak olacağını anlar ve sonraki satırda, VBA kodu yeni bir sayfa eklemektir.

Hatırlanacak şeyler

  • Hata oluştuğunda bir sonraki satıra atlamak istiyorsanız, Hata Durumunda Sonraki VBA ifadesini de kullanabilirsiniz.
  • Bir sonrakine atlamak için, söz konusu kod satırının bir hata beklendiğinden emin olmanız gerekir.
  • Kodun önemli satırı bu hata işleyiciyle atlarsa, göreviniz tam olarak tamamlanamayabilir.

Ilginç makaleler...