deprem hissedince userformu aç ya da uyu?

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,581
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Ekteki çalışmada; excel sayfası üzerine , Kandilli sitesinden her 5 dakikada dış veri alarak deprem kayıtlarını listelettim. Yapmak istediğim konular:

1- EĞER tablo sayfasındaki H13 hücresine MARMARA DENİZİ ibaresi gelirse
ya msgbox uyarısındaki evet tuşuna bağlı olarak userform1'in açılmasını
ya da direkt userform1 in açılmasını,

2- Açıldığında (şu an) sol bölümde ilk satır ( MARMARA DENİZİ) deprem bilgi özetini gösteriyorken,
sağdaki listbox1 de bugün kaç kere MARMARA DENİZİ nde kaç kere deprem olduğu
sağdaki listbox2 de dünden itibaren listenin tamamını içeren geçmişte MARMARA DENİZİ
deprem kayıtlarını almak istiyorum.

çözüldü.. son sorun için son konuşmaya bakınız, oradaki dosyayı kullanınız
 

Ekli dosyalar

Son düzenleme:

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,581
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
....................
 
Son düzenleme:

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,581
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Neden h13 MARMARA DENİZİ olarak değiştiğinde userformu tetiklemiyor ve
Neden listbox 1 ve 2 ye seçtirerek sadece MARMARA DENİZİ ni listeletemiyorum ?

çözüldü çözüm : tablo sayfasını MARMARA DENİZİ olarak süzüp sayfa1e kopyalatınca userformdaki listbox1 ve 2 buradaki datayı gördü. Her nedense dışveri alınan tablo sayfasında bunu yapmıyor.
 
Son düzenleme:

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,395
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Bence yenileme sonrasını kontrol etmek için kodu aşağıdaki gibi kullanırsanız daha uygun olur.

"tablo" sayfasında;

Kod:
Private WithEvents q As QueryTable

Private Sub q_AfterRefresh(ByVal Success As Boolean)
   [COLOR=DarkGreen] 'if success = true then '=> web sayfası yenilemesi başarılı ise... [/COLOR]
    Dim x As Integer
    
    If Range("h13") = "MARMARA DENİZİ" Then
        x = MsgBox( _
  "Bölgenizde deprem algılandı. Detayları görmek istiyor musunuz? ", [COLOR=Red][B]vbYesNo[/B][/COLOR])
    End If
    
    If x = vbYes Then
        Call UYARI
    Else
        Exit Sub
    End If

End Sub
Module1 de;
Kod:
Public q As QueryTable

Sub auto_open()
    Set q = Sheets("tablo").QueryTables(1)
End Sub

Sub auto_close()
    If Not q Is Nothing Then Set q = Nothing
End Sub
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,581
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Programı istediğim şekilde hazırlayabildim...
Yapmasını istediğim tam olarak : başka bir çalışmanın içine atarak her 5 dakikada bir veri al yolu ile uyur-çalışır bir şekilde belli bir bölgedeki deprem bilgisi Kandilli kayıtlarına düştüğünde listeye almasını, eğer ilk satırdaki bölge adı MARMARA DENİZİ olarak düşerse tetiklenmesini , listeyi MARMARA DENİZİ olarak süzerek sayfa1'e alması ve userformu açarak son deprem yerini, bugün olan ve dünden geriye geçmiş deprem kayıtlarını listboxlarda göstermesiydi .
Yani nihai olarak başka bir program için dosya açıkken , altta sessizce çalışan bir izleme yaratmak ve bu algı oluştuğunda tüm pencerelerin önüne userformu getirmekti.
Buraya kadar normal çalışıyor ama denetleyemediğim noktalar :
1-Elle VBe üzerinden ya da tablo sayfasındaki tuş ile tetiklediğimde anlattığım döngü gerçekleşiyor. Kandilli dökümünün geldiği tablo sayfasında ilk veride MARMARA DENİZİ düştüğünde ( elle değiştirdiğimde) tetiklenme başlamıyor. Dolayısı ile listenin ilk satırına bu bölge adı düştüğünde tüm döngünün kendiliğinden başlayacağından emin değilim.
2-Elle tetiklediğimde ekran uyarısı geliyor ( bekleyen bir tetikleme var iptal etmek istiyor musunuz) bu da kullanıcı seçimi gerektirdiğinden döngüyü durduruyor. Bunu da engellemek ya da evet ile geçtirtmek gerekli .
3-Tek kontrol edebildiğim; tablo sayfasının ilk satırına veri geldikten sonra h13 teki değer MARMARA DENİZİ ne eşit değilse döngüyü tetikletme yolu ki, bu şekilde userformu açana kadar sorunsuz çalışıyor. Tersinde yani elle h13e MARMARA DENİZİ yazıp ( sayfada degişiklikle ) enterladığımda tetiklenmiyor.

Kodlarda uzman olan arkadaşların dosyayı incelemesi ve şu ana dek yazılanların istenen işlevi oluşturabileceği hakkında görüşüne ihtiyacım var. Eğer ki kodlarda değiştirilmesi gereken yer varsa , değiştirip , temel amaç olan " arka planda sessizce çalışmasını, bölgede deprem bilgisi gelmediği sürece uyuması ama geldiğinde döngüyü sessizce tamamlayarak userformu yükseltmesini" sağlarsa çok sevinirim.
 

Ekli dosyalar

Son düzenleme:
Üst