Fonction de taux de change en Excel Cette feuille de calcul Excel a une fonction VBA (UDF) qui efface les taux de change en direct de Yahoo Finance. Lisez la suite pour la feuille de calcul Excel libre et VBA. La fonction Excel est parfaite pour chaque fois que vous avez besoin d'une conversion de devises. Je l'utilise pour suivre la valeur de la livre sterling d'un compte bancaire américain et dollar canadien. Les taux sont effacés de Yahoo Finance, et sont en temps réel (mais retardé de 15 ou 20 minutes). L'UDF est simple à utiliser. Voici la syntaxe. FXRate (8220currency18221, 8220currency28221,8220close8221, 8220open8221, 8220bid8221, 8220ask8221) Voici un exemple d'utilisation de FXRate () dans Excel pour une conversion de devise entre GBP et USD. Les deux premiers arguments sont la conversion de la monnaie et la conversion de la monnaie. Il s'agit de codes de devises à trois lettres (par exemple, GBP pour les livres britanniques ou CAD pour les dollars canadiens) entrés en tant que chaînes. Le troisième argument est un de 8220close8221, 8220open8221, 8220bid8221 ou 8220ask8221 (encore une fois comme une chaîne). Le prix de clôture est la clôture précédente. Le lien vers la feuille de calcul Excel est au bas de ce post, mais here8217s le VBA. Option Explicit Fonction FXRate (currency1 As String, currency2 As String, rateType As String) As Double Dim str As String Dim temp As String Dim bidStart As Long Dim bidEnd As Long Dim askStart As Long Dim askEnd As Long Dim openStart As Long Dim openEnd As Long Dim closeStart As Long Dim closeEnd As Long Dim bid Comme Double Dim demander As Double Dim ropen As Double Dim rclose As Double str quotfinance. yahooqsquot amp currency1 amp currency2 amp quotXquot temp ExécuteWebRequest (str) bidStart InStr (temp, quotBid: quot) bidEnd InStr (askStart, temp, quotquot) bid Mid (temp, bidStart 65, bidEnd - bidStart - 72) askStart InStr (temp, quotAsk: quot) StartStart InStr (temp, quotOpen: quot) openEnd InStr (openStart, temp, quotquot) ropen Mid (temp, openStart 38, openEnd - openStart - 38) closeStart InStr (temp, quotPrev Close: quot) closeEnd InStr (closeStart , Temp, quotquot) rclose Mid (temp, closeStart 44, closeEnd - closeStart - 44) Si rateType quotaskquot Ensuite FXRate demande ElseIf rateType quotbidquot Ensuite FXRate offre ElseIf rateType quotopenquot Puis FXRate ropen ElseIf rateType quotclosequot Ensuite FXRate rclose End If Fin Function Function ExecuteWebRequest ByVal url As String) As Chaîne Dim oXHTTP As Object Si InStr (1, url, quotquot, 1) ltgt 0 Ensuite url url amp quotampcbquot amp Timer () 100 Else url url amp quotcbquot amp Timer () 100 End If Set oXHTTP CreateObject QuotMSXML2.XMLHTTPquot) oXHTTP. Open quotGETquot, url, False oXHTTP. send ExecuteWebRequest oXHTTP. responseText Définir oXHTTP Nothing End Function ExecuteWebRequest () a été copiée et modifiée à partir d'ici. ExecuteWebRequest () récupère le code HTML d'une page Web, tandis que FXRate () traite le code HTML pour extraire les taux de change. N'oubliez pas que FXRate () efface les données de Yahoo Finance avec un traitement de chaîne simple. Ainsi, si la structure des données sur Yahoo Finance change, cette fonction peut ne plus fonctionner. Faites-moi savoir si cela se produit, et I8217ll mettre à jour le VBA afin qu'il fonctionne à nouveau. Si vous souhaitez des taux de conversion de devises historiques sur une période, consultez cette feuille de calcul. Vous pouvez également utiliser un QueryTable pour extraire les taux de change. Laissez un commentaire si vous avez des questions ou des commentaires. Rdquo La fonction se rompt lorsque les emplacements des recherches de sous-chaîne dépassent la valeur maximale de 32767 pour le type de données Integer. Si vous modifiez les déclarations de bidStart, bidEnd, etc. sur Long au lieu d'Integer, la fonction fonctionnera de manière fiable lorsque la longueur de la variable Temp est extrêmement grande. Pour une page retournée aujourd'hui, la longueur de la variable Temp était 76104 avec le bidStart égalant 33422. Les déclaractions Long permettent à la fonction de fonctionner à nouveau comme prévu. Merci I8217ve a changé le type de données à Long dans la VBA et la feuille de calcul. Merci beaucoup pour le code ci-dessus. I8217m ayant des problèmes avec la position des taux fx dans la source HTML. I8217m essayant de récupérer le taux de fx GBPSGD. Ci-dessous sont les positions pour le 8220bid8221 (le premier prix que le code recherche dans la source html) bidStart31180 bidEnd 31180 bidStart 65 31245 bidEnd 8211 bidStart 8211 72 -72 Donc, parce que le bidStart et BidEnd sont les mêmes que la fonction milieu can8217t trouver le taux de soumission . Pourquoi avez-vous la position bidEnd en recherchant 82208221 bidEnd InStr (bidStart, temp, 82208221) I8217ve juste essayé d'utiliser la fonction FXRate () dans la feuille de calcul pour saisir le taux de change GBPSGD avec Il semble fonctionner bien 8211 l'UDF correctement raclée l'offre Prix de Yahoo Finance. Donc, parce que le bidStart et BidEnd sont les mêmes que la fonction Mid ne peut pas trouver le taux de soumission Semble trouver le taux de soumission pour moi J'ai essayé d'utiliser cette conversion, mais ne fonctionne plus ou ne donnant plus une valeur de résultat. J'ai utilisé avant fonction similaire: (voir ci-dessous). Mais quand j'utilise le ci-dessous et convertir de IDR à EUR il donne 5 euro conversion au lieu de 3,5Euro (ce que je reçois quand je vais en ligne sur le côté convertis Yahoo) Alors j'ai cherché une meilleure solution et est venu de votre côté, Par défaut, la fonction YahooCurrencyConverter (ByVal strFromCurrency, ByVal strToCurrency, Facultatif ByVal strResultType 8220Value8221) Sur Erreur GoTo ErrorHandler 8216Init Dim strURL As String Dim objXMLHttp As Objet Dim strRes As String, dblRes Comme Double 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 requête XML X8221 8216Send Avec objXMLHttp. Open 8220GET8221, strURL, False. setRequestHeader 8220Content-Type8221, 8220applicationx-www-form-URLEncoded8221.send strRes. responseText End Avec la réponse 8216Parse dblRes Val (Split (strRes, 8220,8221) (1)) Sélectionnez le cas strResultType Case 8220Value8221: YahooCurrencyConverter dblRes Sinon: YahooCurrencyConverter 82201 8221 ampères strFromCurrency amp 8221 8221 ampères dblRes amp 8221 8221 amp strToCurrency End Select CleanExit: Définir objXMLHttp Rien Exit Fonction ErrorHandler: YahooCurrencyConverter 0 GoTo CleanExit Fonction Fin S'il vous plaît, quelqu'un peut-il m'aider J'ai besoin d'une feuille de calcul Excel pour afficher les taux de change à une date spécifique. Exemples: taux de change USD à GBP le 10 octobre 2014. Taux de change USD à BRL au 10 octobre 2014. Je pense que cela pourrait être une fonction, par exemple: FXRateatDate (currency1, currency2,8221Date8221) Est-ce possible? Doit travailler avec mon portable brésilien excel, qui utilise. Comme séparateur décimal (International Units System) Merci à l'avance VB fonctionne très bien. Avec le taux de change OUVERT (qui est la seule partie que j'utilise), je voudrais également extraire la date d'échange dans une cellule. Pouvez-vous suggérer quelque chose Cela fonctionne toujours Parce qu'il doesn8217t semblent fonctionner quand je l'utilise J'ai essayé la formule suivante: FXRate (8220EUR8221,8221USD8221,8221bid8221) et il est retourné 8220VALUE8221. Laisser un commentaire Annuler la réponse Like the Free Spreadsheets Master Base de connaissances PostsI8217ve récents enseigner aux golfeurs des débutants aux professionnels de tournée, les joueurs collégiaux à amateurs accomplis et notre local junior aux célébrités de Hollywood. J'ai enseigné des milliers de leçons et aidé tous les niveaux de golfeurs de construire, de grandir et d'améliorer leur jeu de golf depuis plus de 25 ans ici à Torrey Pines, y compris le plein swing, shortgame, mise, gestion des cours et le côté mental du jeu. Des programmes personnalisés sont offerts pour vous permettre de frapper la balle plus droite et plus loin avec moins de coups, plus de compréhension, moins d'effort et plaisir ajouté. Appelez-moi sur mon cellulaire au 619-322-8333 ou remplissez mon formulaire de contact pour l'un de vos besoins de service de golf. Je vous promets de faire de mon mieux pour améliorer votre jeu global. Cliquez ici pour consulter ma Bio. Cours de golf de Torrey Pines au nord ou au sud avec des leçons de jeu ou des heures de cours de golf sans aucun frais de réservation avancés sur les leçons de jeu, préparez-vous Et Play Package ou écoles de golf Balles illimitées sur les leçons privées et les écoles de golf Analyse vidéo haute technologie avec des leçons privées, des forfaits PampP et des écoles de golf Incomparable PGA golf instruction avec plus de 20 ans d'expérience à Torrey Pines Débutants: Si vous êtes un débutant, Femme, homme, junior, senior, ou ont un handicap physique, mes services vous aideront à atteindre un niveau de confort avec des connaissances supplémentaires, la sensibilisation et la compréhension. Lorsque vous jouez sur un parcours, pratiquer à une distance ou n'importe où sur le terrain de golf, le facteur d'intimidation sera mis à l'aise. Intermédiaires: En tant qu'intermédiaire, vous améliorerez vos connaissances et commencer à comprendre ce que votre club fait à la balle et ce que votre swing fait au club. Transformez l'aggravation et la frustration en connaissances et en compréhension, afin que vous appréciiez votre jeu. Accomplished Players: En ce qui concerne le joueur accompli, affiner vos compétences et d'intégrer une compétence physique et mentale pour élever votre jeu au niveau suivant. 8221 J'ai eu la chance d'avoir ma fille la plus âgée d'acheter un plan d'enseignement 6 leçon privée de Michael Major à Torrey Pines. Comme une nouvelle de près de 70 ans nouveau au jeu de golf (4-5 ans de piratage), je voulais essayer d'améliorer mon jeu. Michael a consacré du temps aux fondamentaux swing, pitching, putting, le sable et les techniques d'amélioration de base. Eh bien, j'ai vraiment amélioré dans tous les domaines et j'ai vu coups tomber de mes scores Non seulement j'ai remarqué et sentir la différence, mais mes copains de golf a fait aussi. Je recommande fortement Michael Major en tant qu'instructeur et je suis reconnaissant pour l'instruction qu'il m'a fournie.8221 Dr Bob Stein, San Diego Nouvelles du blog
No comments:
Post a Comment