EXCEL DE BİR SİTEDEN ANLIK VERİ ÇEKMEK

Katılım
1 Şubat 2022
Mesajlar
11
Excel Vers. ve Dili
excel
Merhabalar ticaretle hesaplarla uğraştığım için excelde bir hesap makinası yapıyorum ürünün ismini listeden seçiyorum yan sutunada ürünün karşılığı olan fiyatı getirecek fiyatlarıda bir siteden çekeçek anlık olarak bunu nasıl yapabilirim?
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Site bilgisi olmadan html kodları incelemeden çözüm zor. Siteden arama yaparsanız webden veri çekme konusunda örnekler bulabilirsiniz.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Bu sayfada 40 adet ürün mevcut. Arama mı yapıp çekeceksiniz yoksa sırasıyla 40 ürün fiyatı da gelecek mi?
 
Katılım
1 Şubat 2022
Mesajlar
11
Excel Vers. ve Dili
excel
Bu sayfada 40 adet ürün mevcut. Arama mı yapıp çekeceksiniz yoksa sırasıyla 40 ürün fiyatı da gelecek mi?
Yani şöyle söyliyim ben liste oluşturdum örn veriyorum buzdolabı sutunu onu liste yaptım listeden tüm bozdolabı modelleri cıkıyor istedigim modeli seçiyorum yan sutünada o ürünün güncel fiyatı gelicek tabi bu güncel fiyatları www.arcelik.com/buzdolabi sitesinden çekecek siz bana 1 tane örn gösterseniz ben bişekilde diğerleri içinde yaparım ilginiz için çok teşekkür ederim
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Aşağıdaki kodu deneyin.
Kod:
Sub arcelik()
'Referans Microsoft İnternet Controls
'Referans Microsoft HTML Object Library

Dim URL As String
Dim IE As Object
Dim aranan As String
Dim adet As Byte
Shell "taskkill /f /im iexplore.exe"

Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = False

URL = "https://www.arcelik.com.tr/buzdolabi"
IE.navigate URL
Application.Wait (Now + TimeValue("0:00:02"))

Application.StatusBar = URL & " internet sayfası yükleniyor. Lütfen bekleyiniz..."
Do While IE.Busy: DoEvents: Loop
Do While IE.readyState <> 4: DoEvents: Loop

tutar = 0
aranan = Range("A1").Value
adet = 0
Set modeller = IE.document.getElementsByClassName("prd-name")
For Each Model In modeller
    adet = adet + 1
    If InStr(Model.innerText, aranan) > 0 Then
        tutar = IE.document.getElementsByClassName("prd-price")(adet).innerText
        Exit For
    End If
Next Model
If tutar <> 0 Then
    Range("B1") = tutar
Else
    Range("B1") = "Aranan model yok"
End If
IE.Quit
Set IE = Nothing
End Sub
 
Son düzenleme:
Katılım
1 Şubat 2022
Mesajlar
11
Excel Vers. ve Dili
excel
Aşağıdaki kodu deneyin.
Kod:
Sub arcelik()
'Referans Microsoft İnternet Controls
'Referans Microsoft HTML Object Library

Dim URL As String
Dim IE As Object
Dim aranan As String
Dim adet As Byte
Shell "taskkill /f /im iexplore.exe"

Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = False

URL = "https://www.arcelik.com.tr/buzdolabi"
IE.navigate URL
Application.Wait (Now + TimeValue("0:00:02"))

Application.StatusBar = URL & " internet sayfası yükleniyor. Lütfen bekleyiniz..."
Do While IE.Busy: DoEvents: Loop
Do While IE.readyState <> 4: DoEvents: Loop

tutar = 0
aranan = Range("A1").Value
adet = 0
Set modeller = IE.document.getElementsByClassName("prd-name")
For Each Model In modeller
    adet = adet + 1
    If InStr(Model.innerText, aranan) > 0 Then
        tutar = IE.document.getElementsByClassName("prd-price")(adet).innerText
        Exit For
    End If
Next Model
If tutar <> 0 Then
    Range("B1") = tutar
Else
    Range("B1") = "Aranan model yok"
End If
IE.Quit
Set IE = Nothing
End Sub
merhabalar denedim fakat tıklatıgımda sunucu calıstırması basarız diye bir mesaj alıyorum depug help penceresi cıkıyor
 
Katılım
1 Şubat 2022
Mesajlar
11
Excel Vers. ve Dili
excel
Aşağıdaki kodu deneyin.
Kod:
Sub arcelik()
'Referans Microsoft İnternet Controls
'Referans Microsoft HTML Object Library

Dim URL As String
Dim IE As Object
Dim aranan As String
Dim adet As Byte
Shell "taskkill /f /im iexplore.exe"

Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = False

URL = "https://www.arcelik.com.tr/buzdolabi"
IE.navigate URL
Application.Wait (Now + TimeValue("0:00:02"))

Application.StatusBar = URL & " internet sayfası yükleniyor. Lütfen bekleyiniz..."
Do While IE.Busy: DoEvents: Loop
Do While IE.readyState <> 4: DoEvents: Loop

tutar = 0
aranan = Range("A1").Value
adet = 0
Set modeller = IE.document.getElementsByClassName("prd-name")
For Each Model In modeller
    adet = adet + 1
    If InStr(Model.innerText, aranan) > 0 Then
        tutar = IE.document.getElementsByClassName("prd-price")(adet).innerText
        Exit For
    End If
Next Model
If tutar <> 0 Then
    Range("B1") = tutar
Else
    Range("B1") = "Aranan model yok"
End If
IE.Quit
Set IE = Nothing
End Sub
acaba internet explorer oldugu için mi hata alıyorum chrome kodlu mu denesek?
 
Üst