Web Sorgusu Yenilenirken İnternet Hatasını Gizleme

  • Konuyu başlatan Konuyu başlatan ErolU
  • Başlangıç tarihi Başlangıç tarihi

ErolU

Kullanıcı
Katkı: %1
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Arkadaşlar,
WEB'den veri çekerken internet açık değilse aşağıdaki hata çıkıyor. Bu hatayı göstermememiz mümkün oluyor mu?
vuEJoo.webp
 
Daha evvel internet bağlantısı var mı yokmu mevzuunda kodlamalar görmüş ancak kullanmamıştım.

Ben internet bağlantısı hatasını göstermemek yerine,
bağlantının olmadığını bilip veri alma işinden vazgeçmek pratik olur diye düşündüm:

Belgenizde uygun bir MODULE aşağıdaki kodu yapıştırın.
İstediğiniz bir hücreye de =BaglantiVarmi() şeklinde bir formül yazın. Formül internet bağlantısının durumunu göstersin.

Tabi benim düşüncemdeki mantık, kodda belirtilen internet sayfasına erişim var mı yok mu onu göstermek şeklinde.
Adres olarak istediğiniz bir internet sitesinin adresini yazabilirsiniz.
İşinize yarayacağını umuyorum.

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (8 satır). Giriş Yap
.
 
Teşekkürler Sayın BARAN,
Kısmi bir çözüm olarak kullanabilirim.
Dosyayı tanımadığım kişiler de kullanacağından bu uyarıyı göstermemek daha iyi olacak.
 
Merhaba, Veri > Web'den ile alınan sorgular Excel'in kendi yenileme komutuyla güncellendiğinde bağlantı hatası doğrudan ekrana gelir. Yenilemeyi aşağıdaki makroyla yaptığınızda hata yakalanır, Excel'in hata penceresi açılmaz; veriler alınamazsa yalnız kısa bir bilgi mesajı görünür. Kodu dosyanızda Alt+F11 ile açılan pencerede Insert > Module ile eklenen bir modüle yapıştırabilirsiniz.

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (29 satır). Giriş Yap

Kod nasıl çalışır?
  1. Application.DisplayAlerts = False ve On Error Resume Next ile yenileme sırasında oluşan hata penceresi bastırılır.
  2. Kod tüm sayfaları dolaşır; eski tip Web sorgularını (QueryTables) ve Power Query ile tabloya yüklenen sorguları (ListObjects) tek tek yeniler.
  3. BackgroundQuery:=False yenilemeyi arka planda değil, makro içinde bekleyerek yaptırır. Böylece bağlantı hatası Excel'e değil koda düşer ve yakalanabilir.
  4. Herhangi bir sorgu yenilenemezse hataVar değişkeni işaretlenir ve en sonda Excel'in teknik hata metni yerine koddaki kısa mesaj gösterilir. Bağlantı varsa veriler sessizce güncellenir.

Notlar
  • Excel'in kendi otomatik yenilemesi bu makronun dışında çalışır ve hata penceresini yine gösterebilir. Bu nedenle Veri > Sorgular ve Bağlantılar bölümünde her sorguya sağ tıklanıp açılan Özellikler penceresinde "Dosyayı açarken verileri yenile" ve "Yenileme sıklığı ... dakika" seçeneklerinin işareti kaldırılmalıdır.
  • Yenileme dosya açılırken de yapılsın isterseniz ThisWorkbook modülündeki Workbook_Open olayına VerileriGuncelle satırı yazılabilir. Kullanıcılar Tümünü Yenile yerine bu makroya bağlanan bir düğmeyi kullanmalıdır.
  • Hiç mesaj görünmesin isterseniz If hataVar Then ... End If bloğunu silmeniz yeterlidir; bu durumda bağlantı yoksa tablolar son alınan verilerle kalır.
  • Dosya makro içerdiği için .xlsm olarak kaydedilmelidir. Dosyayı açan kişilerin makroları etkinleştirmesi gerekir; aksi halde yenileme Excel'in kendi komutuyla yapılır ve hata penceresi görünebilir.
 
Geri
Üst