mrtank50
Altın Üye
- Katılım
- 10 Haziran 2018
- Mesajlar
- 37
- Excel Vers. ve Dili
- Excel 2021 LTSC Professional Plus 64 bit
- Altın Üyelik Bitiş Tarihi
- 10-03-2027
Arkadaşlar merhaba çözemediğim bir sorun var nasıl çözebilirim.
Kod hangi sayfadaysam o sayfaya verileri alıyor.
Ben sadece sayfa 3 te otomatik 5 dakikada bir yenilenmesini istiyorum.
Ben sayfa 2'deyken sayfa 3 otomatik 5 dakikada bir yenilenmelidir.
Mümkünatı nasıldır acaba.
Activesheet komutu sadece o sayfada aktifsem çalışıyor.Sayfa 2 deyken malasef çalıştıramadım.
Kodlar aşağıdadır:
Kod hangi sayfadaysam o sayfaya verileri alıyor.
Ben sadece sayfa 3 te otomatik 5 dakikada bir yenilenmesini istiyorum.
Ben sayfa 2'deyken sayfa 3 otomatik 5 dakikada bir yenilenmelidir.
Mümkünatı nasıldır acaba.
Activesheet komutu sadece o sayfada aktifsem çalışıyor.Sayfa 2 deyken malasef çalıştıramadım.
Kodlar aşağıdadır:
Kod:
Sub aralıklı_calıstır()
Application.OnTime Now + TimeValue("00:05:00"), "mynett"
End Sub
Sub mynett()
MsgBox _
"Bugün " & Format(Now, "dd.mm.yyyy") & _
vbCrLf & "Saat " & Format(Now, "hh:mm") & _
vbCrLf & "Günlerden " & b & _
" Veriler aktarıldı"
Dim xmlsayfa As MSXML2.XMLHTTP60
Dim htmldoc As MSHTML.HTMLDocument
Dim table As IHTMLElementCollection
Dim satir As IHTMLElement
Dim hucre As IHTMLElement
Range("A2:F" & Rows.Count).ClearContents
Set xmlsayfa = New MSXML2.XMLHTTP60
Set htmldoc = New MSHTML.HTMLDocument
xmlsayfa.Open "GET", "https://finans.mynet.com/borsa/hisseler/", False
xmlsayfa.send
If xmlsayfa.Status <> 200 Then Exit Sub
htmldoc.body.innerHTML = xmlsayfa.responseText
Set table = htmldoc.getElementsByTagName("tbody")
x = 2
For Each satir In table.Item(0).Children
s = 1
For Each hucre In satir.Children
If IsNumeric(hucre.innerText) Then
Cells(x, s) = ("'" & hucre.innerText)
Cells(x, s) = Cells(x, s) * 1
Else
Cells(x, s) = hucre.innerText
End If
s = s + 1
Next hucre
x = x + 1
Next satir
Set xmlsayfa = Nothing
Set htmldoc = Nothing
Set table = Nothing
Set satir = Nothing
Set hucre = Nothing
Call aralıklı_calıstır
End Sub