[Çözüldü] - Web'den Veriyi Eksik Çeken Bir Kod

Excel programınıza Web Sayfalarından veri alarak çalışabileceğiniz bölüm.

[Çözüldü] - Web'den Veriyi Eksik Çeken Bir Kod

İleti#1)  feridunabi » 01 Ekm 2009 10:56

Arkadaşlar 2 gün öncesine kadar aşağıdaki kod düzgün bir şekilde çalışıyordu ama 2 gündür verileri çekerken sayısal olarak çektiği değerler için virgülden sonrasını çekmiyor.
Amacım aşağıdaki linkte bulunan sayfada hisse sütunundaki hisse adını ve 2 sütun sağındaki "Yabancı Payı (%) bugün tarihli" sürundaki verileri çekmek. Yabancı Payı(%) sütunundaki virgülden sonraki değerleri çekmiyor. Yardımcı olabilirseniz çok mutlu olacağım.
Dosyayı da ekledim. Dosyada anamenu isimli çalışma sayfasında "Takas Çek Finnetten" butonuna tıklayınca verileri takas isimli çalışma sayfasına alıyor.
Teşekkür ederim.
http://www.finnet.com.tr/f2000/takas/Or ... YUZDESEL=Y

Kod: Tümünü seç
Sub takas_finnet()
On Local Error Resume Next
Dim ie As Object, deger As String, veri As Variant, d As Double
Rem Www.ExcelVBA.Net
Rem 17-08-2009
Rem Tarkan VURAL
Const link As String = _
    "http://www.finnet.com.tr/f2000/takas/OransalDegisim.aspx?TIP=X&YUZDESEL=Y"
    Set ie = CreateObject("internetexplorer.application")
With ie
    .navigate link
    Do While .busy: Loop
    Do While .readystate <> 4: Loop
    With .document.all
    For i = 1 To 1000
    If .Item(i).innerhtml Like "*+s+*" Then
        deger = .Item(i).innerhtml
        If Err Then GoTo 10
            veri_itemi = i
10          Err.Clear
        End If
    Next i
        veri = Split(.Item(veri_itemi).innerhtml & .Item(veri_itemi + 1).innerhtml, "+s+", -1, 1)
    End With
End With
ie.Quit
Set ie = Nothing

Sheets("takas").Select
Columns("A:B").Select
Selection.ClearContents
For a = 1 To UBound(veri)
Range("a65536").End(3)(2, 1).Value = Mid(veri(a), 1, 6)
deger = Replace(veri(a), ">'", "")
deger = Mid(deger, InStr(1, deger, "','", 1) + 3, 8)
d = CDbl(Replace(Replace(Mid(deger, 1, InStr(1, deger, ",", 1) - 1), "'", ""), ".", ",")) * 1
Range("a65536").End(3)(1, 2).Value = d
If Err Then
Range("a65536").End(3)(1, 2).Value = 0
Err.Clear
End If
Next a
Erase veri: a = Empty: deger = vbNullString
Sheets("anamenu").Select
For i = 2 To Sheets("takas").Range("a65536").End(3).Row
Sheets("takas").Cells(i, 1).Value = Replace(Sheets("takas").Cells(i, 1), " ", "")
Next i
i = Empty
End Sub
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
En son Murat OSMA tarafından, 05 Ekm 2009 14:26 tarihinde değiştirildi, toplamda 1 değişiklik yapıldı.
Sebep: Başlık Düzeltildi.
Kullanıcı avatarı
feridunabi
Yeni Başlamış
 
Adı Soyadı:ümit sakınç
Kayıt: 26 Tem 2009 22:25
İleti: 70
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ankara/keçiören

Cevap: Webden veriyi eksik çeken bir kod.

İleti#2)  Tarkan VURAL » 01 Ekm 2009 11:58

Merhaba.
Hücreleri biçimlendirme ile ilgili sorun olabilir mi?
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 20:27
Konum: tarkan@excelvba.net
Meslek: LUU, Yazılım Geliştirme Müdürü
Yaş: 45
İleti: 26765
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: Webden veriyi eksik çeken bir kod.

İleti#3)  feridunabi » 01 Ekm 2009 14:01

Tarkan VURAL yazdı:Merhaba.
Hücreleri biçimlendirme ile ilgili sorun olabilir mi?


Hocam hücre biçimlendirme ile ilgili bir sorun yok.
Hiç bir değişiklik yapmadım, sorun olabilir diye tekrardan kontrol ettim. Ama site veri yapısını mı değiştirdi, bunu anlayamadım.
Teşekkür ederim.
Kullanıcı avatarı
feridunabi
Yeni Başlamış
 
Adı Soyadı:ümit sakınç
Kayıt: 26 Tem 2009 22:25
İleti: 70
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ankara/keçiören

Cevap: Webden veriyi eksik çeken bir kod.

İleti#4)  feridunabi » 01 Ekm 2009 14:06

Hocam 2 gündür uğraşıyorum. Sitenin veri yapısında bir sorun olmuş. Daha önce nokta olarak kullandıkları değeri virgül yapmışlar.
Sorun halloldu çok teşekkür ederim.
Kullanıcı avatarı
feridunabi
Yeni Başlamış
 
Adı Soyadı:ümit sakınç
Kayıt: 26 Tem 2009 22:25
İleti: 70
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ankara/keçiören

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Forum Excel ile Web Sayfaları Veri İşlemleri

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

cron
Bumerang - Yazarkafe