- Katılım
- 24 Aralık 2010
- Mesajlar
- 24
- Excel Vers. ve Dili
- Microsoft® Excel® LTSC MSO (16.0.14332.20541) 32 bit Standart 2021
- Altın Üyelik Bitiş Tarihi
- 27-10-2023
Merhaba,
Aşağıdaki kodunu paylaştığım makro işleminde evde çalıştığım bilgisayar 2021 standart versiyon burda sorunsuz çalışıyor, şirket bilgisayarımda 2016 pro versiyon mevcut denemesini yapmaya çalıştığımda
kısmında kaldı, nerede hata yapıyorum yardımcı olabilirmisiniz.
(Eklentilerde VB for applications, M.Excell 16.0 Object library,Ole Automation, m.o 16.0 Object library, m.HTML object library, M.Internet Controller açıktı eksik varmı bilemedim)
Aşağıdaki kodunu paylaştığım makro işleminde evde çalıştığım bilgisayar 2021 standart versiyon burda sorunsuz çalışıyor, şirket bilgisayarımda 2016 pro versiyon mevcut denemesini yapmaya çalıştığımda
Kod:
Set boxBaslik = HTML.getElementsByClassName("boxTitle2 boxTitle216")(0) ' Kutu başlığı etiketini al
(Eklentilerde VB for applications, M.Excell 16.0 Object library,Ole Automation, m.o 16.0 Object library, m.HTML object library, M.Internet Controller açıktı eksik varmı bilemedim)
Kod:
Sub VeriCek(hisseAdi As String)
Dim IE As Object
Dim HTML As Object
Dim hucresindekiVeri As String
Dim url As String
Set IE = CreateObject("InternetExplorer.Application")
hucresindekiVeri = Sheets("DASHBOARD").Range("C4").Value ' C4 hücresindeki değeri al
url = "https://uzmanpara.milliyet.com.tr/borsa/hisse-senetleri/" & hucresindekiVeri
With IE
.Visible = False
.navigate url
Do While .Busy Or .readyState <> 4
DoEvents
Loop
Set HTML = .document
End With
Sheets("Sayfa2").Range("A1").Value = ""
Sheets("Sayfa2").Range("B2:B6").Value = ""
Sheets("Sayfa2").Range("D3:D6").Value = ""
Sheets("Sayfa2").Range("E3:E6").Value = ""
Sheets("Sayfa2").Range("B9:B10").Value = ""
Sheets("Sayfa2").Range("D9:D10").Value = ""
Sheets("Sayfa2").Range("B13:B18").Value = ""
Sheets("Sayfa2").Range("D13:D18").Value = ""
' Verileri çekme
Dim boxBaslik As Object
Set boxBaslik = HTML.getElementsByClassName("boxTitle2 boxTitle216")(0) ' Kutu başlığı etiketini al
If Not boxBaslik Is Nothing Then
Sheets("Sayfa2").Range("A1").Value = boxBaslik.innerText ' A1 hücresine yaz
Dim genelBilgiler As Object
Set genelBilgiler = HTML.getElementsByClassName("currency") ' Genel Bilgiler etiketlerini al
Sheets("Sayfa2").Range("B2").Value = genelBilgiler.Item(0).ParentNode.getElementsByClassName("right")(0).innerText ' B2 hücresine yaz
Sheets("Sayfa2").Range("B3").Value = genelBilgiler.Item(1).ParentNode.getElementsByClassName("right")(0).innerText ' B3 hücresine yaz
Sheets("Sayfa2").Range("B4").Value = genelBilgiler.Item(2).ParentNode.getElementsByClassName("right")(0).innerText ' B4 hücresine yaz
Sheets("Sayfa2").Range("B5").Value = genelBilgiler.Item(3).ParentNode.getElementsByClassName("right")(0).innerText ' B5 hücresine yaz
Sheets("Sayfa2").Range("B6").Value = genelBilgiler.Item(4).ParentNode.getElementsByClassName("right")(0).innerText ' B6 hücresine yaz
Sheets("Sayfa2").Range("D3").Value = genelBilgiler.Item(6).ParentNode.getElementsByClassName("right")(0).innerText ' D3 hücresine yaz
Sheets("Sayfa2").Range("D4").Value = genelBilgiler.Item(7).ParentNode.getElementsByClassName("right")(0).innerText ' D4 hücresine yaz
Sheets("Sayfa2").Range("D5").Value = genelBilgiler.Item(8).ParentNode.getElementsByClassName("right")(0).innerText ' D5 hücresine yaz
Sheets("Sayfa2").Range("D6").Value = genelBilgiler.Item(9).ParentNode.getElementsByClassName("right")(0).innerText ' D6 hücresine yaz
Sheets("Sayfa2").Range("E3").Value = genelBilgiler.Item(6).ParentNode.getElementsByClassName("right")(1).innerText ' E3 hücresine yaz
Sheets("Sayfa2").Range("E4").Value = genelBilgiler.Item(7).ParentNode.getElementsByClassName("right")(1).innerText ' E4 hücresine yaz
Sheets("Sayfa2").Range("E5").Value = genelBilgiler.Item(8).ParentNode.getElementsByClassName("right")(1).innerText ' E5 hücresine yaz
Sheets("Sayfa2").Range("E6").Value = genelBilgiler.Item(9).ParentNode.getElementsByClassName("right")(1).innerText ' E6 hücresine yaz
Dim teknikAnaliz As Object
Set teknikAnaliz = HTML.getElementsByClassName("currency") ' Teknik Analiz etiketlerini al
' Sheets("Sayfa2").Range("A8").Value = teknikAnaliz.Item(0).innerText ' A8 hücresine yaz
Sheets("Sayfa2").Range("B9").Value = teknikAnaliz.Item(10).ParentNode.getElementsByClassName("right")(0).innerText ' B9 hücresine yaz
Sheets("Sayfa2").Range("B10").Value = teknikAnaliz.Item(11).ParentNode.getElementsByClassName("right")(0).innerText ' B10 hücresine yaz
Sheets("Sayfa2").Range("D9").Value = teknikAnaliz.Item(12).ParentNode.getElementsByClassName("right")(0).innerText ' B9 hücresine yaz
Sheets("Sayfa2").Range("D10").Value = teknikAnaliz.Item(13).ParentNode.getElementsByClassName("right")(0).innerText ' B10 hücresine yaz
Dim temelVeriler As Object
Set temelVeriler = HTML.getElementsByClassName("currency") ' Temel Veriler etiketlerini al
'Sheets("Sayfa2").Range("A12").Value = temelVeriler.Item(14).ParentNode.getElementsByClassName("right")(0).innerText ' A12 hücresine yaz
Sheets("Sayfa2").Range("B13").Value = temelVeriler.Item(14).ParentNode.getElementsByClassName("right")(0).innerText ' B13 hücresine yaz
Sheets("Sayfa2").Range("B14").Value = temelVeriler.Item(15).ParentNode.getElementsByClassName("right")(0).innerText ' B14 hücresine yaz
Sheets("Sayfa2").Range("B15").Value = temelVeriler.Item(16).ParentNode.getElementsByClassName("right")(0).innerText ' B15 hücresine yaz
Sheets("Sayfa2").Range("B16").Value = temelVeriler.Item(17).ParentNode.getElementsByClassName("right")(0).innerText ' B16 hücresine yaz
Sheets("Sayfa2").Range("B17").Value = temelVeriler.Item(18).ParentNode.getElementsByClassName("right")(0).innerText ' B17 hücresine yaz
Sheets("Sayfa2").Range("B18").Value = temelVeriler.Item(19).ParentNode.getElementsByClassName("right")(0).innerText ' B18 hücresine yaz
Sheets("Sayfa2").Range("D13").Value = temelVeriler.Item(20).ParentNode.getElementsByClassName("right")(0).innerText ' D13 hücresine yaz
Sheets("Sayfa2").Range("D14").Value = temelVeriler.Item(21).ParentNode.getElementsByClassName("right")(0).innerText ' D14 hücresine yaz
Sheets("Sayfa2").Range("D15").Value = temelVeriler.Item(22).ParentNode.getElementsByClassName("right")(0).innerText ' D15 hücresine yaz
Sheets("Sayfa2").Range("D16").Value = temelVeriler.Item(23).ParentNode.getElementsByClassName("right")(0).innerText ' D16 hücresine yaz
Sheets("Sayfa2").Range("D17").Value = temelVeriler.Item(24).ParentNode.getElementsByClassName("right")(0).innerText ' D17 hücresine yaz
Else
MsgBox "Kutu başlığı bulunamadı."
End If
Dim acilisVeri As String
Dim sonGuncellemeVeri As String
acilisVeri = Mid(HTML.body.innerHTML, InStr(HTML.body.innerHTML, "Açılış:") + Len("Açılış:") + 1, InStr(InStr(HTML.body.innerHTML, "Açılış:"), HTML.body.innerHTML, "</div>") - InStr(HTML.body.innerHTML, "Açılış:") - Len("Açılış:") - 1)
acilisVeri = Replace(acilisVeri, "nbsp;", "") ' karakterlerini kaldır
acilisVeri = Trim(acilisVeri)
Sheets("Sayfa2").Range("D19").Value = acilisVeri
sonGuncellemeVeri = Mid(HTML.body.innerHTML, InStr(HTML.body.innerHTML, "Son Güncelleme : ") + Len("Son Güncelleme : ") + 1, InStr(InStr(HTML.body.innerHTML, "Son Güncelleme : "), HTML.body.innerHTML, "</div>") - InStr(HTML.body.innerHTML, "Son Güncelleme : ") - Len("Son Güncelleme : ") - 1)
sonGuncellemeVeri = Trim(sonGuncellemeVeri)
Sheets("Sayfa2").Range("D20").Value = sonGuncellemeVeri
IE.Quit
Set IE = Nothing
Set HTML = Nothing
End Sub