Real-time Forex-priser i Excel Få realtid levande valutakurser i Excel med detta kostnadsfria kalkylblad. Citatmen är försenade med ca 15 eller 20 minuter men uppdateras varje minut eller så. Allt är automatiserat i VBA. VBA kan ses och modifieras. Kodens muttrar och bultar är en QueryTable som extraherar de senaste valutakurserna från finance. yahoo för de två angivna valutorna. Allt du behöver göra är att skriva in två tre bokstäver valutakoder, och klicka på en knapp (du kan hitta en lista över valutakoder här). VBA hämtar sedan de senaste valutakurserna från Yahoo till Excel, med hjälp av ett frågeformulär. Excel hämtar sedan tidigare stängda, öppna och aktuella budskattesatser för valutaparet. Genom att klicka på knappen igen uppdateras citat med de senaste värdena. Automatiskt uppdaterad realtids Forex i Excel Nu, här8217s där vi kan vara kloka och få Excel att automatiskt uppdatera växelkurserna live. 1. Markera QueryTable som visas nedan, högerklicka och välj Data Range Properties. 2. I menyn Egenskaper för extern dataavstånd, placera en check i Uppdatera varje alternativ och välj en uppdateringstid (du kan bara välja ett heltal antal minuter). Klicka nu på OK. Excel uppdaterar nu data automatiskt i QueryTable, utan att du behöver klicka på knappar eller köra makron. Cool, eh Jag använder en variant av det här kalkylbladet för att hålla reda på sterlingsvärdet av mina utländska besparingar. Du kan till exempel ändra VBA för att ladda ner valutakurser för många valutapar (låt mig veta om du vill ha det här kalkylbladet). Ett annat Excel-kalkylblad hämtar dagliga historiska växelkurser mellan två datum. 9 tankar om ldquo Real-Time Forex-priser i Excel rdquo Gilla gratis kalkylblad Master Knowledge Base Senaste PostsForeign Valutakursfunktion i Excel Detta Excel-kalkylblad har en VBA-funktion (UDF) som skrapar live valutakurser från Yahoo Finance. Läs vidare för det kostnadsfria Excel-kalkylbladet och VBA. Excel-funktionen är perfekt för när du behöver en valutaomvandling. Jag använder den för att hålla reda på det brittiska pundvärdet på ett amerikanskt och kanadensiskt bankkonto. Priserna skrapas från Yahoo Finance, och är realtid (men försenad med 15 eller 20 minuter). UDF är enkel att använda. Here8217s syntaxen. FXRate (8220currency18221, 8220currency28221,8220close8221, 8220open8221, 8220bid8221, 8220ask8221) Detta är ett exempel på hur man använder FXRate () i Excel för en valutakonvertering mellan GBP och USD. De två första argumenten är den valuta du konverterar från och valutan du konverterar till. Dessa är valutakoder med tre bokstäver (t. ex. GBP för brittiska pund eller CAD för kanadensiska dollar) som är inskrivna som strängar. Det tredje argumentet är en av 8220close8221, 8220open8221, 8220bid8221 eller 8220ask8221 (igen som en sträng). Det snabba priset är föregående stängning. Länken till Excel-kalkylbladet finns längst ner i det här inlägget, men här är VBA. Alternativ Explicit funktion FXRate (currency1 As String, currency2 As String, rateType As String) Så Dubbelt Dim Str As String Dim Temp Som String Dim BidStart Så Långt Dim BidAnd Så länge Dim AskStart Så Lång Dim AskEnd As Long Dim OpenStart Så Long Dim OpenEnd As Långdimma slutstart Så länge Dim Dim closeEnd Så länge Dimbit Som Dubbeldimma fråga Som Dubbeldimma Dubbeldimma Dubbeldimma Dubbel breddefinansiering. yahooqsquot amp1valuta1 amp valuta2 amp quotXquot temp ExecuteWebRequest (str) bidStart InStr (temp, quotBid: quot) bidEnd InStr (budStart, temp, kvot) bud Mid (temp, bidStart 65, bidEnd - bidStart - 72) askStart InStr (temp, kvot: quot) askEnd InStr (askStart, temp, kvot) fråga Mid (temp, askStart 65, askEnd - askStart - 72) openStart InStr (temp, quotOpen: quot) openEnd InStr (openStart, temp, quototot) ropen Mid (temp, openStart 38, openEnd - openStart - 38) closeStart InStr (temp, quotPrev Stäng: quot) closeEnd InStr , temp, kvot) rclose Mid (temp, closeStart 4 4, closeEnd - closeStart - 44) Om rateType quotaskquot Fråga sedan FXRate ElseIf rateType quotbidquot Då FXRate bjuda ElseIf rateType quotopenquot Då FXRate ropen ElseIf rateType quotclosequot Då FXRate rclose Slut Om Slutfunktion Funktion ExecuteWebRequest (ByVal url Som String) Som String Dim OXHTTP Som Objekt Om InStr (1, url, kvot, 1) ltgt 0 Då url url amp ampampcbquot amp Timer () 100 Annat url url ampc quotcbquot amp Timer () 100 Sluta om Ange oXHTTP CreateObject (quotMSXML2.XMLHTTPquot) oXHTTP. Open quotGETquot, url, Falsk oXHTTP. send ExecuteWebRequest oXHTTP. responseText Ange oXHTTP Inget Slut Funktion ExecuteWebRequest () har kopierats och ändrats härifrån. ExecuteWebRequest () hämtar HTML-en för en webbsida, medan FXRate () behandlar HTML för att extrahera växelkurserna. Tänk på att FXRate () skrapar data från Yahoo Finance med lite enkel strängbehandling. Så om strukturen på data på Yahoo Finance ändras, kanske den här funktionen inte fungerar längre. Låt mig veta om detta händer, och I8217ll uppdaterar VBA så att det fungerar igen. Om du vill ha historiska valutakurser över ett datumintervall, kolla in det här kalkylbladet. Du kan också använda en QueryTable för att extrahera växelkurserna. Lämna en kommentar om du har frågor eller kommentarer. 22 tankar om ldquo Valutakursfunktion i Excel rdquo Funktionen bryts när platserna för substringssökningarna överstiger 32767 maximivärdet för integerdatatypen. Om du ändrar deklarationerna för bidStart, bidEnd etc. till Long i stället för Integer, fungerar funktionen på ett tillförlitligt sätt när längden på Temp-variabeln är extremt stor. För en sida som returnerades idag var längden på Temp-variabeln 76104 med budstart lika med 33422. De långa deklarationsfunktionerna gör att funktionen kan fungera som förväntat igen. Tack I8217ve ändrade datatypen till Lång i VBA och kalkylblad. Mycket uppskattat Tack för koden ovan. I8217m har problem med placeringen av fx-hastigheterna i HTML-källan. I8217m försöker hämta GBPSGD fx-hastigheten. Nedan finns positionerna för 8220bid8221 (det första priset koden söker efter i html-källan) bidStart31180 bidEnd 31180 bidStart 65 31245 bidEnd 8211 bidStart 8211 72 -72 Så eftersom BidStart och BidEnd är desamma kan Mid-funktionaliteten can8217t hitta budräntan . Varför gör du budEnd-positionen genom att leta efter 82208221 bidEnd InStr (bidStart, temp, 82208221) I8217ve försökte bara använda funktionen FXRate () i kalkylbladet för att få tag i GBPSGD-växelkursen med Det verkar fungera bra 8211 UDF skrapar korrekt budet pris från Yahoo Finance. Så eftersom BidStart och BidEnd är detsamma kan Mid-funktionen inte hitta budräntan. Jag tycker att hitta budräntan för mig. Jag försökte använda denna omvandling, men fungerar inte längre eller ger inte längre ett resultatvärde. Jag använde tidigare liknande funktion: (se nedan). men när jag använder den nedan och konverterar från IDR till EUR ger det 5 euro konvertering i stället för 3,5 Euro (vilket jag får när jag går online till Yahoo-omvandlaren sidan) Så jag letade efter en bättre lösning och kom på din sida, men inget resultat ges: Funktion YahooCurrencyConverter (ByVal strFromCurrency, ByVal strToCurrency, Valfri ByVal strResultType 8220Value8221) På Fel GoTo ErrorHandler 8216Init Dim StrURL Som String Dim ObjXMLHttp Som Objekt Dim StrRes Som String, dblRes Som Dubbel Set objXMLHttp CreateObject (8220MSXML2.ServerXMLHTTP8221) 8216strURL 8220finance. yahoodquotes. csve. csvampfc4l1amps8221 amp strFromCurrency amp strToCurrency amp 8220X8221 strURL 8220finance. yahooqs8221 amp strFromCurrency amp strToCurrency amp 8221 X8221 8216Send XML begäran objXMLHttp. Open 8220GET8221, strURL, False. setRequestHeader 8220Content-Type8221, 8220applicationx-www-form-URLEncoded8221.send strRes. responseText End med 8216Parse svar dblRes Val (Split (strRes, 8220,8221) (1)) Sel ect Case strResultType Fall 8220Value8221: YahooCurrencyConverter dblRes Case Else: YahooCurrencyConverter 82201 8221 amp StrFromCurrency amp 8221 8221 amp dblRes amp 8221 8221 amp strToCurrency Slut Välj CleanExit: Ange objXMLHttp Inget Avsluta FunktionsfelHandler: YahooCurrencyConverter 0 Gå till CleanExit Slutfunktion Vänligen kan någon hjälpa mig jag behöver ett excel-kalkylblad för att visa växelkurserna vid ett visst datum. Exempel: USD till GBP-växelkurs i oktober 10th 2014. USD till BRL-växelkurs 10 oktober 2014. Jag tror att det kan vara en funktion, till exempel: FXRateatDate (currency1, currency2,8221Date8221) Är det möjligt Det andra är att det måste arbeta med min brasilianska laptop excel, vilken använder. som decimalseparator (International Units System) Tack på förhand VB fungerar bra. Tillsammans med den öppna växelkursen (som är den enda delen jag använder) vill jag också extrahera utbytesdatumet till en cell. Kan du föreslå något Fungerar det fortfarande Eftersom det inte verkar fungera när jag använder det försökte jag följande formel: FXRate (8220EUR8221,8221USD8221,8221bid8221) och det återvände 8220VALUE8221. Kära alla, det fungerade bra till slutet av december 2016. Det verkar som Yahoo ändrade något på deras webbplats. Kunde någon kolla in koden och ge en lösning som behöver ändras, tack. Denna justerade kod verkar fungera. Jag testade inte8217 med alla möjliga kombinationer, men det fungerade för de få jag testade Funktion FXRate (currency1 As String, currency2 As String, rateType As String) Så Dubbeldimensionell Som String Dim Temp Som String Dim BidStart Så Long Dim BidEnd As Lång Dim AskStart Lång Dim Dim askEnd Lång Dim Dim OpenStart Lång Dim Dim OpenEnd Lång Dim Dim closeDåla Lång Dim Dim CloseEnd As Long Dim Bjud As Double Dim Ask As Double Dim Rope As Double Dim Rclose Som Double Dim I As Long, I1 As Long, I2 Så länge Dim myArray () Som Variant Str 8220finance. yahooqs8221 amp1 currency1 amp currency2 amp 8220X8221 temp ExecuteWebRequest (str) ReDim myArray (1 Till Len (temp) 500) För I 1 Till Len (Temp) 500 I1 (I 8211 1) 500 1 i2 i1 500 8211 1 Om (i2 gt Len (temp)) Då i2 Len (temp) myArray (i) Mid (temp, i1, 500) Nästa i 8216ActiveSheet. Range (8220A508221) myArray bidStart InStr (1, temp, 8220Bid: 8221) BidStart InStr (bidStart, temp, 8220x82218221gt8221) 4 budEnd InStr (bidStart 1, temp, 82208221) 4 askEnd InStr (askSt art 1, temp, 82208221) 7 openEnd InStr (openStart 1, temp, 82208221) 7 closeEnd InStr (closeStart 1, temp, 8220ltquot) bud Mid (temp, bidStart, bidEnd 8211 bidStart) fråga Mid (temp, askStart, askEnd 8211 askStart ) ropen Mid (temp, openStart, openEnd 8211 openStart) rclose Mid (temp, closeStart, stängEnd 8211 closeStart) Om rateType quotaskquot Då FXRate fråga ElseIf rateType quotbidquot Då FXRate bud ElseIf rateType quotopenquot Då FXRate ropen ElseIf rateType quotclosequot Då FXRate rclose End If Function ExecuteWebRequest (ByVal url som sträng) Som String Dim OXHTTP Som Objekt Om InStr (1, url, kvot, 1) 0 Då url url amp 8220ampcb8221 amp Timer () 100 Annat url url amp 8220cb8221 amp Timer () 100 Sluta om Set oXHTTP CreateObject (8220MSXML2.XMLHTTP8221) oXHTTP. Open 8220GET8221, url, False oXHTTP. send ExecuteWebRequest oXHTTP. responseText Ange oXHTTP Inget Oops 8211 kvar i någon debug-kod. Du kan ta bort dessa saker: ReDim myArray (1 Till Len (temp) 500) För I 1 Till Len (Temp) 500 I1 (I 1) 500 1 I2 I1 500 1 Om (i2 gt Len (temp)) Då I2 Len temp) myArray (i) Mid (temp, i1, 500) Nästa i ActiveSheet. Range (A50) myArray Grrr Moderator 8211 ta bort ovanstående kommentarer. Klippet och klistret fungerade inte korrekt och lämnade lite kod. Förhoppningsvis, vad som är nedan är fullständigt och korrekt. Tack Funktion FXRate (valuta1 Som String, Valuta2 Som String, Betygstyp Som String) Så Dubbeldimensionell Som String Dim Temp Som String Dim BidStart Så länge Dim Böj Och Lång Dim Dim AskStart Så Lång Dim AskEnd Så Lång Dim OpenStart Så Lång Dim OpenEnd As Long Mått closeStart Så länge Mått closeEnd Så länge Måttböja Som dubbelmåttig fråga Så Dubbelmåttig ropen Som dubbelmåttig rclose Dubbeldimma jag Så länge, i1 Så länge, i2 Så lång tid ExecuteWebRequest (str) ReDim myArray (1 till Len (temp) 500) För I 1 Till Len (temp) 500 I1 (I 8211 1) 500 1 I2 I1 500 8211 1 Om (i2 gt Len (temp)) Då I2 Len (temp) myArray (i) Mid (temp, i1, 500 ) Next i 8216ActiveSheet. Range (8220A508221) myArray bidStart InStr (1, temp, 8220Bid: 8221) bidStart InStr (bidStart, temp, 8220x82218221gt8221) 4 bidEnd InStr (bidStart 1, temp, 82208221) 4 askEnd InStr (askStart 1, temp, 82208221) 7 openEnd InStr (openStart 1, temp, 82208221) 7 closeEnd InStr (closeStart 1, temp, 8220ltquot) bud Mid (temp, bidStart, bidEnd 8211 bidStart) a sk Mid (temp, askStart, askEnd 8211 askStart) ropen Mid (temp, openStart, openEnd 8211 openStart) rclose Mid (temp, closeStart, stängEnd 8211 closeStart) Om rateType quotaskquot Då FXRate fråga ElseIf rateType quotbidquot Då FXRate bud ElseIf rateType quotopenquot Sedan FXRate ropen ElseIf rateType quotclosequot Då FXRate rclose Enda om Function ExecuteWebRequest (ByVal url som sträng) Som sträng Dim oXHTTP som objekt Om InStr (1, url, kvot, 1) 0 Då url url amp 8220ampcb8221 amp Timer () 100 annan url url amp 8220cb8221 amp timer () 100 avsluta om du ställer in oXHTTP CreateObject (8220MSXML2.XMLHTTP8221) oXHTTP. Open 8220GET8221, url, False oXHTTP. send ExecuteWebRequest oXHTTP. responseText Ange oXHTTP Inget som gratis kalkylblad Master Knowledge Base Senaste inlägg Vilken typ av kalkylblad stödjer en formel som Följande: Resultatet ska vara 3000 USD utbytt till euro. Eventuellt kan ett datum göras för en historisk växelkurs. Alternativt genomsnittet för den senaste månaden eller så. Jag skulle använda en sådan funktion hela tiden och det måste vara relevant för så många andra användare. Jag föredrar att arbeta i Excel, men online kalkylblad som Google eller Zoho är också bra. frågade maj 20 11 kl 12:07 GOOGLE SPREADSHEETS Det är ett Google Spreadsheet-skript som returnerar växelkursen mellan EURO och en valuta som du anger. Uppgifterna är förmodligen från Europeiska centralbanken. Öppna ett Google Docs-kalkylblad. Klicka på Infoga skript Sök efter ECBExchangeRate Med citat på datumet Detta kommer att returnera växelkursen mellan USD och EUR för datumet mmddyyyy. Tyvärr är datakällan inte uppdaterad. Beräkning mellan 2 valutor: Till exempel vill vi få USDJPY-kursen för idag. Få EURUSD och EURJPY med hjälp av ovanstående formel. Dela EURJPY-kursen med EURUSD-kursen. Du får USDJPY. Jag tror inte att en sådan funktion existerar för Excel (åtminstone som standard). Du kan dock skapa ett ark som importerar data från en online växelkurs tabell som den på Yahoo Finance sidan (finance. yahoo Investing Valutor Valutor Investera Cross Rates). Du kan sedan ställa in en VLOOKUP eller INDEXMATCH formel för att få relevanta växelkurser för dig. Skapa ett nytt ark (rekommenderas). Klicka på data från webben Ange följande webbadress: Klicka på den gula pilen bredvid växelkorts tabellen. Pilen ska bli en grön markering. Klicka på Importera. Klicka på Egenskaper. Under Uppdateringskontroll. Ange hur ofta du vill att Excel ska hämta ny data, eller välj Uppdatera data när du öppnar filen. Klicka på OK och vänta sedan på Excel för att ladda data. För att uppdatera data, klicka bara på Ctrl-Alt-F5. Uppgifterna på Yahoo Finance Page är ganska begränsade, men det täcker de mest populära valutorna. Du kan använda andra källor, till exempel: Webbplatsen xeucc har historiska kurs tabeller som du kan konsolidera. Du hittar inte något som är inbyggt i något kalkylblad för något som ändras ständigt som växelkurs. Lyckligtvis finns det lösningar där ute redan som andra har skapat för den här typen av saker, som WikiHow. Yahoo svar. OzGrid. EHow. Det finns många andra lösningar, men de flesta följer samma generella designmönster. Om ingen av ovanstående länkar är vad du letar efter, föreslår jag att du söker på OzGrid-webbplatsen. Deras forum är ofta ett av de bästa för att hitta Excel-lösningar. svarade den 20 maj kl 11:27 Ingen av länkarna är till hjälp. Jag skulle fortfarande vara bättre att kopiera och klistra in i den uppdaterade valutakursen. Det måste finnas en bättre lösning. ndash David Maj 20 11 kl 13:25 Du kan använda Spearian för MS Excel, spearianforexcel. att arbeta och ladda ner alla historia av vilken växelkurs som helst. Dess mycket bekväma för att få tillgång till alla större marknadsdata, inklusive Yahoo Financewiki Hur man skapar en valutaomvandlare med Microsoft Excel Så här byter du pengar i Storbritannien Hur konverterar du Microsoft Money Files till Microsoft Excel-filer Hur man lägger till två celler som redan innehåller summan av Andra formulär Så här återställer du en korrupt Excel-fil Hur man gör ett beslut med hjälp av ett kvantitativt poängsystem Hur man använder Morningstar för att utvärdera ett lager Så här konverterar du Excel till PDF Hur man lägger in en SQL-fråga i Microsoft Excel Hur man drar i Excel Hur man gör en cirkeldiagram i Excel
No comments:
Post a Comment