cems
Altın Üye
- Katılım
- 2 Eylül 2005
- Mesajlar
- 2,581
- Excel Vers. ve Dili
- office 2010 tr 32bit
http://s6.dosya.tc/server8/ke569k/webkuralma.rar.html
Ekteki dosyada SAYFA1 için ;
GetElementByTagName yolu ile bir bankanın sayfasından döviz fiyatı çekiyorum. Bilgiler C den H ye kadar diziliyor, satırda C dolu görüldüğünde A ya tarih B ye alınma saati o an için ayrı bir makro ile yazılıyor.
Ancak daha sonra userform üzerinde oluşturulacak grafiğe veritabanı olması için ;
1- Veri zaman aralığını istenen şekilde ( gerek kod içine mudahale gerek bir userform üzerindeki textbox ile ) mesela 5 dakikada bir ya da 30 dakikada 1 otomatik çalıştırmak
2- Otomatik çalışan ve kaydeden kodları günün istenen bir saatinde el ile durdurmak ama bu olmadığında 17:00 de otomatik durdurmak
3- Alınan veriyi eskinin üzerine değil ilk boş satıra yazarak bir liste oluşmasını sağlamak
Mümkün müdür ? Ya da son amaç bir userform üzerinde sonuçları görmek ve kontrol etmek olacak şekilde daha iyileme nasıl olabilir ?
Ekteki dosyada SAYFA1 için ;
GetElementByTagName yolu ile bir bankanın sayfasından döviz fiyatı çekiyorum. Bilgiler C den H ye kadar diziliyor, satırda C dolu görüldüğünde A ya tarih B ye alınma saati o an için ayrı bir makro ile yazılıyor.
Ancak daha sonra userform üzerinde oluşturulacak grafiğe veritabanı olması için ;
1- Veri zaman aralığını istenen şekilde ( gerek kod içine mudahale gerek bir userform üzerindeki textbox ile ) mesela 5 dakikada bir ya da 30 dakikada 1 otomatik çalıştırmak
2- Otomatik çalışan ve kaydeden kodları günün istenen bir saatinde el ile durdurmak ama bu olmadığında 17:00 de otomatik durdurmak
3- Alınan veriyi eskinin üzerine değil ilk boş satıra yazarak bir liste oluşmasını sağlamak
Mümkün müdür ? Ya da son amaç bir userform üzerinde sonuçları görmek ve kontrol etmek olacak şekilde daha iyileme nasıl olabilir ?
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [c1:c65536]) Is Nothing Then
Cells(Target.Row, "A") = Format(Now, "dd.mm.yyyy ")
Cells(Target.Row, "B") = Format(Time, "hh:mm")
End If
End Sub
Sub Makro()
Sheets("sayfa2").Select
Set ie = CreateObject("InternetExplorer.Application")
ie.navigate "http://www.qnbfinansbank.enpara.com/doviz-kur-bilgileri/doviz-altin-kurlari.aspx"
Do: DoEvents: Loop Until ie.ReadyState = 4
bos = Cells(1, "c").End(3).Row + 1
Cells(bos, 1).Select
KurAlis = ie.Document.getElementsByClassName("dlCont")(1).innerText
KurSatis = ie.Document.getElementsByClassName("dlCont")(2).innerText
ActiveSheet.Range("c2").Value = KurAlis
ActiveSheet.Range("d2").Value = KurSatis
KurAlis2 = ie.Document.getElementsByClassName("dlCont")(4).innerText
KurSatis2 = ie.Document.getElementsByClassName("dlCont")(5).innerText
ActiveSheet.Range("e2").Value = KurAlis2
ActiveSheet.Range("f2").Value = KurSatis2
KurAlis3 = ie.Document.getElementsByClassName("dlCont")(7).innerText
KurSatis3 = ie.Document.getElementsByClassName("dlCont")(8).innerText
ActiveSheet.Range("g2").Value = KurAlis3
ActiveSheet.Range("h2").Value = KurSatis3
End Sub
Son düzenleme:
