makro ile altın fiyatlarını alabilir miyiz?

bjk55

Altın Üye
Katılım
29 Mart 2010
Mesajlar
174
Excel Vers. ve Dili
TÜRKÇE - MİCROSOFT OFFİCE PROFESSİONAL PLUS 2021
Altın Üyelik Bitiş Tarihi
05-03-2036

burada ki fiyatları excele nasıl geçirebiliriz
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
@Haluk hocam acaba benim pc de sıkıntı olabilir mi ?

Dosyaları açıp verileri aldığımda güncel veriler geliyor , daha sonrasında dosyayı kapatıp tekrar açmaz isem aynı verileri tekrarlıyor güncellemiyor.

09:53 ' de dosyayı açtım güncelledim , daha sonrasında 10:16 ' ya kadar kaç defa çalıştırdıysam hep aynı veriler geldi.

Dosyayı kapatıp tekrar açar isem sıkıntı olmuyor.

215188
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,310
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Haluk Hocam,
Siz konuya dahil olmuşken müsaadenizle konu hakkında bir şey sormak istiyorum.
Yukarıdaki kodları yazmadan önce aşağıdaki kodlarla veri almayı denedim, ancak 08.06.2017 tarihine ait veriler geldi. Bu site ile alakalı bir durum mu, yoksa ben bir yerde hata mı yapıyorum? Bir de siteden kaynaklı bir durumsa bu yöntemde bunu aşma imkanı var mıdır?
Ömer Bey; daha önce belirttiğiniz konuya şimdi bakabildim....

Söz konusu 08.06.2017 tarihine ait veriler, yani; sayfanın kaynak kodlarındaki "altinTablo" ID'li tablo sayfaya "Default" olarak yerleştirilmiş, daha sonra bu Tablo bir "Script" ile "Append" modunda açılarak yukarıda 12 No'lu mesajda verdiğim "JSon" tablosundan alınan verilerle değiştirilmiş.

Böylelikle, sunucuya HTTP isteği gönderdiğinizde söz konusu Script'i siz çalıştırmadığınız için, "altinTablo" ID'li tablodaki "Default" olarak hazırlanmış olan 08.06.2017 tarihine ait verileri çekiyorsunuz.

Bunları sayfanın HTML kodlarında görebiliyorsunuz...

.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,310
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi

burada ki fiyatları excele nasıl geçirebiliriz

İgili linkler:




.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,310
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
@Haluk hocam acaba benim pc de sıkıntı olabilir mi ?

Dosyaları açıp verileri aldığımda güncel veriler geliyor , daha sonrasında dosyayı kapatıp tekrar açmaz isem aynı verileri tekrarlıyor güncellemiyor.
Tam olarak deneyemedim ama, bu durum bende de öyle galiba.... Muhtemelen site altyapısıyla ilgili bir durum.

Verileri alırken bizim cache'i boşaltmamız gerekiyor sanırım....

.
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
Anladım hocam , bilgilendirme için teşekkür ederim.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,310
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Tahmin ettiğimden de fazla zorladı "CepteTEB" beni ama, hallettim sanırım ... ;)

Sunucuya isteği gönderirken bazı Header'lar göndermek gerekiyor..!

Verilerin güncellenerek alındığı revize dosya ektedir....

.
 

Ekli dosyalar

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,310
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Eyvallah, kolay gelsin ...

.
 
Katılım
31 Aralık 2011
Mesajlar
373
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
08-10-2020
merhaba
değerli üstatlar hepinize ayrı ayrı teşekkür ederim.
ancak verileri geçerli sayfaya değilde belirli bir sayfaya alabilsek daha iyi olur. mevcut hali ile yaptığım işlemlerin üzerine yazıyor.
teşekkürler.
 
Katılım
17 Kasım 2004
Mesajlar
78
Altın Üyelik Bitiş Tarihi
14-04-2024
Ekli alternatif dosyada, "Split" yöntemi kullanılmıştır...

.
haluk bey yazdığınız formülde A ile D hücrelerine yazdırıyor. ben bunu değiştirmek istedim ama hata verdi. H ile K hücrelerine yazdırmak istiyorum
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,310
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Kod:
Cells(i, 1)
yerine,

Kod:
Cells(i, 8)
yazın, diğerlerini de 9, 10, 11 diye değiştirin....

.
 
Katılım
24 Şubat 2020
Mesajlar
12
Excel Vers. ve Dili
2013 std

bjk55

Altın Üye
Katılım
29 Mart 2010
Mesajlar
174
Excel Vers. ve Dili
TÜRKÇE - MİCROSOFT OFFİCE PROFESSİONAL PLUS 2021
Altın Üyelik Bitiş Tarihi
05-03-2036
İgili linkler:




.
Merhaba Haluk Bey, ben sadece Altın fiyatını istiyorum
 

bjk55

Altın Üye
Katılım
29 Mart 2010
Mesajlar
174
Excel Vers. ve Dili
TÜRKÇE - MİCROSOFT OFFİCE PROFESSİONAL PLUS 2021
Altın Üyelik Bitiş Tarihi
05-03-2036
Çok Teşekkür ederim, istediğim Tarihe göre nasıl güncelleme yapabilirim
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,310
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Dosya sadece en güncel verileri alır.....

.
 
Katılım
23 Mayıs 2021
Mesajlar
3
Excel Vers. ve Dili
Turkce
Altın Üyelik Bitiş Tarihi
22-09-2022
Bunun için aşağıdaki fonksiyonu kullanabilirsiniz.
Bu fonksiyonu boş bir modüle kopyaladıktan sonra =Altin_Fiyat(1) şeklinde hücrede formül olarak, ya da Altin_Fiyat(1) şeklinde makro kodu içerisinde kullanabilirsiniz.
Kullanabileceğiniz parametreler function içerisinde belirtilmiştir.
Satış fiyatını almak için kodda yer alan Cells(1) ifadesini Cells(2) olarak değiştiriniz.
Rich (BB code):
Function Altin_Fiyat(tur As Byte)
'***tur değerleri***
'1 - Gram Altın
'2 - Çeyrek Altın
'3 - Yarım Altın
'4 - Tam Altın

Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate "https://www.cepteteb.com.tr/altin-kurlari"
Do While Not IE.readyState = 4: DoEvents: Loop
Do While IE.busy: DoEvents:  Loop

Set fiyat = IE.Document.getElementById("altinTablo")

Altin_Fiyat = fiyat.Rows(tur).Cells(1).innerText
Altin_Fiyat = CDbl(Replace(Altin_Fiyat, " TL", ""))
IE.Quit
End Function
bu fonksiyonu gümüş - euro - dolar için uyarlamak mümkün müdür?
teşekkür ederim.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,126
Excel Vers. ve Dili
2007 Türkçe
bu fonksiyonu gümüş - euro - dolar için uyarlamak mümkün müdür?
Kodun, aynı sitenin döviz verileri için uyarlanmış hali...
Kod:
Function Doviz_Fiyat(tur As Byte, islem As Byte)
'***tur değerleri***
'1 - USD
'2 - EUR
'3 - GPB

'***islem değerleri***
'1 - Alış
'2 - Satış

Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate "https://www.cepteteb.com.tr/doviz-kurlari"
Do While Not IE.readyState = 4: DoEvents: Loop
Do While IE.busy: DoEvents:  Loop

Set fiyat = IE.Document.getElementById("dovizTablo")

Doviz_Fiyat = fiyat.Rows(tur).Cells(islem).innertext
Doviz_Fiyat = CDbl(Replace(Doviz_Fiyat, " TL", ""))
IE.Quit
End Function
 
Üst