El siguiente truco de Excel es muy sencillo. Se trata de una consulta web que nos permite obtener el cambio de divisas a euro casi prácticamente on-line. La consulta se realiza sobre la web www.finanzas.com, sitio que además quiero recomendar; desde él sigo la imparable caída de mis valores…

La consulta es la siguiente:

Sub cambio_divisas()
    ' Cambiamos la configuración regional temporalmente
    With Application
        .DecimalSeparator = "."
        .ThousandsSeparator = ","
        .UseSystemSeparators = False
    End With

    ' Realizamos la consulta web
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.finanzas.com/divisas", Destination:=Range("A1"))
        .Name = "divisas_1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "1"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With

    ' Restablecemos la configuración regional del sistema
    With Application
        .UseSystemSeparators = True
    End With
End Sub

Primero cambiamos los separadores de miles y decimales; posteriormente realizamos la consulta a www.finanzas.com/divisas y ya tenemos tabulada la información. Además, no sobrescribimos anteriores consultas; siempre se añadirán gracias a RefreshStyle, por lo que podemos hacer un seguimiento del cambio. Me ha sido muy útil para seguir el efecto del precio de unos fondos de inversión. Saludos.