Excelde Bu İşlemi Nasıl Yaparım ?
11
●210
- 24-07-2023, 15:42:00Merhaba, excel kullanarak A!,A2,A3... A1000 e kadar giden şeklinde tarihler yazıyor alt alta. Ben bu tarihlerin karşısına o günlerin dolar kurlarını yazdırmak istiyorum. Sadece geçmiş tarihli değil. Zannediyorum ki elimde bir veritabanı olmalı. Veritabnında tarihler ve karşısında kurlar yazdıktan sonra tarihe göre kurları eşleştirmeyi düşeyara gibi formüllerle ben yapabilirim diye düşünüyorum. Fakat bu veritabınını nasıl elde edebilirim ? EVDS üzerinden geçmiş yıllardan bugüne kadar olan kurları excel olarak indirebiliyorum fakat bu da geçmiş tarihli oluyor bir sonraki güne geçtiğimizde. Yani istediğim şeyi şöyle tanımlayabilirim: 10 Yıl öncesinden başlayarak bu veriyi çektiğim güne kadar gün gün döviz kurunu bana verecek ( Bunu EVDS üzerinden basitçe yapabiliyorum ) + Ben bu veriyi excel halinde aldıktan sonra örneğin 10 gün sonra tekrar exceli açtığımda aradaki 10 günün döviz kurunu da çekecek ( aslında bu siteye girip her gün yeniden excel oluşturunca çözülüyor fakat her gün bunu yapmak mümkün değil ).
- 24-07-2023, 15:44:02Öncesini dediğiniz gibi geçmiş tarihli kurları indirerek halledebilirsiniz. Güncel hallerini ise fixer.io gibi API kullanarak yapabilirsiniz. Aradaki günler için de Excel'e VBA Makrosu eklemeniz gerekiyor.
- 24-07-2023, 15:49:11
- 24-07-2023, 15:50:50Fixer.io ile anlık verisini diyorsunuz sanırım. Anlık döviz kurunu her yerden çekebilirim sorun yok hocam. Excel'e VBA Makrosu dediğiniz kısmı bilgim olmadığı için anlayamadım fakat araştıracağım. Teşekkür ederimGVertigang adlı üyeden alıntı: mesajı görüntüle
- 24-07-2023, 15:51:39Aşağıda TRY, USD ve EUR için örnek bir VBA Makrosu var. Kendinize göre düzenleyerek bu makro ile API sayesinde güncel kurları çekerek yazdırabilirsiniz.
Sub UpdateExchangeRates() Dim url As String Dim xmlhttp As Object Dim json As Object Dim rates As Object Dim baseCurrency As String Dim targetCurrencies As Variant Dim cell As Range ' API'ye bağlanacak URL url = "API_URL" ' HTTP isteği oluştur Set xmlhttp = CreateObject("MSXML2.XMLHTTP") xmlhttp.Open "GET", url, False xmlhttp.send ' JSON verilerini al Set json = JsonConverter.ParseJson(xmlhttp.responseText) ' API'den alınan verileri işle Set rates = json("rates") baseCurrency = json("base") targetCurrencies = Array("USD", "EUR", "TRY") ' Hücreleri güncelle For Each cell In Sheets("Sheet1").Range("B2:B4") ' Tarihlerin bulunduğu sütun For i = LBound(targetCurrencies) To UBound(targetCurrencies) Sheets("Sheet1").Cells(cell.Row, cell.Column + i).Value = rates(targetCurrencies(i)) / rates(baseCurrency) Next i Next cell ' Temizlik yap Set xmlhttp = Nothing Set json = Nothing Set rates = Nothing End Sub - 24-07-2023, 15:52:11Site değişti hocam. Eskisi gibi tablo halinde vermiyor direkt. Sayfa açıldıktan sonra seçmeniz gerekiyor vs. Excele çekmek için pek uygun değil sanırım. EVDS üzerine taşınmış yani eski hali fakat orada da dediğim gibi yeni günler için tekrar dosya oluşturtmam gerekiyor.Typography adlı üyeden alıntı: mesajı görüntüle
- 24-07-2023, 15:54:18Excel kullanımı hakkında bu kadar ileri düzey değilim hocam ama verdiğiniz makroyla, yöntemle nasıl yapılır araştırayım bir. TeşekkürlerGVertigang adlı üyeden alıntı: mesajı görüntüle
- 24-07-2023, 15:56:18Youtube üzerinde VBA makro kullanımı diye aratarak kolayca öğrenebilirsiniz hocam pek zor bir işlem değil.emrahisler adlı üyeden alıntı: mesajı görüntüle
- 24-07-2023, 15:58:11Çok sağ olun hocamGVertigang adlı üyeden alıntı: mesajı görüntüle