Necesito una macro Excel para obtener datos

Tengo un archivo definido de una página web y desearía tener una macro que activo este archivo para que lea la tabla de la página web y la sitúe en una hoja Excel

El archivo que lee la tabla de la página web y sitúa esa tabla en una hoja Excel esta en la carpeta

D:\Archivos especiales\cambio-historico-dolar.iqy

Necesito una macro para que desde una hoja Excel ejecute este archivo: D:\Archivos especiales\cambio-historico-dolar.iqy 

Gracias a quien pueda ayudarme con esto


        

1 Respuesta

Respuesta
1

[Hola

No me queda claro lo que necesitas exactamente pero sugiero hacer lo siguiente:

- Activa tu grabadora de macros

- Ahora (y sin desactivar la grabadora) anda a la pestaña "Datos" y en el grupo "Obtener datos externos" dale a "Desde web", en "Dirección" ingresa la web que te interesa y dale click a "Ir", espera un poquito a que cargue y una vez que ocurra eso, elige la tablas que desees importar.

- Detén la grabadora de macros

- Ingresa al editor de VBA (ALT + F11) y busca el módulo en el que se grabo la macro

- La macro debe ser, sospecho, lo que necesitas

Comentas

Abraham Valencia

Estimado Abraham. muchas gracias por tu sugerencia

Me dio algún problema la macro, pero la resolví de inmediato y es que un parámetro de la macro no debía figurar en la misma

Sub Obtener_Datos()

 'WEB https://www.cambioeuro.es/cambio-historico-dolar/

'Tabla de cambio EUROS-DOLARES

 

'   ---------Lectura----------

    Application.CutCopyMode = False

    With ActiveSheet.QueryTables.Add(Connection:= _

        "URL;https://www.cambioeuro.es/cambio-historico-dolar", Destination:=Range( _

        "$B$2"))

'        .CommandType = 1

        .Name = "cambio-historico-dolar_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

 End Sub

Ajá, excelente, y que bueno que detectaste el dilema. En general la grabadora ayuda pero siempre coloca código muchas veces innecesario.

Saludos]

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas