Este ejercicio muestra cómo leer datos de un sitio web, en este caso los tipos de cambio de moneda actualizados de Yahoo.com.
Se supone que el lector muestra la cinta de desarrollador y está familiarizado con el editor de VBA. De lo contrario, busque en Google "Pestaña de desarrollador de Excel" o "Ventana de código de Excel".
Los requisitos previos incluyen el conocimiento de cómo completar cuadros combinados y definir nombres.
El libro de trabajo consta de dos hojas:
La interfaz de usuario:
Los cuadros combinados Comprar y Vender hacen referencia a la hoja de datos local a continuación.
La tabla en D11 se pegará automáticamente desde el sitio web, conservando el formato del usuario.
El xlsm para este ejercicio se puede descargar aquí.
Construyendo la aplicación usted mismo.
Crea una hoja con dos cuadros combinados. Los cuadros combinados harán referencia a celdas en una segunda hoja.
Los cuadros combinados también invocarán el código para leer el sitio web, utilizando el CAMBIAR evento.
Los nombres de las monedas se pueden pegar en la segunda hoja ("Monedas") de la lista a continuación, el orden de clasificación es una cuestión de preferencia personal:
| ZAR |
| USD |
| EUR |
| GBP |
| CHF |
| MXN |
| NZD |
| JPY |
| CAD |
| SEK |
| DKK |
| NOK |
| MUR |
| HKD |
| SGD |
| ILS |
| AED |
| INR |
| CNY |
Pegue los datos en las columnas B y E.
Defina nombres y utilice las funciones de índice como se muestra en la ilustración:
Dado que los nombres se han definido en la hoja de datos local "Monedas", la hoja "Principal" simplemente tiene que hacer referencia a los nombres definidos para obtener el valor, es decir, = VENDER y = COMPRAR para las celdas "Principales" E10 y G10 respectivamente.
Programaremos Excel para leer la web. Sin embargo, tiene su propio proceso integrado en la cinta de datos, una instancia del cual le gustaría registrar como una macro al crear diferentes escenarios. Tenga en cuenta que las configuraciones de la computadora o el navegador pueden afectar negativamente a los scripts de las páginas web.
El código
Inserte un módulo e ingrese lo siguiente:
Option Explicit
Sub Ticker()
Dim currBuy As String
Dim currSell As String
Range("D11:F14").ClearContents 'prepare the ground for the web data
currBuy = Range("BUY") 'get variable values from Defined Names previously set up
currSell = Range("SELL")
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://finance.yahoo.com/q?s=" & currBuy & currSell & "=X", Destination:=Range("$D$11"))
.Name = "q?s=" & currSell & currBuy & "=X"
.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 = """table1"""
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
End sub
Sub DropDown2_Change() 'This event will call the routine above. Object name might differ.
Call Ticker
End Sub
Sub DropDown1_Change()
Call Ticker
End Sub
Guarde el libro de trabajo como tipo xlsm.
Pruebe el código cambiando los valores de los cuadros combinados, luego mejore los formatos de la tabla pegada (¿cuatro lugares decimales, líneas de cuadrícula, sombreados?).
Corrupción de archivos de Excel
Excel es conocido en ocasiones por corromper los archivos al guardarlos, luego de eso, intenta su propia rutina de auto-recuperación que a menudo, en mi experiencia, simplemente no funciona. Esto puede ser desastroso para el usuario, ya que es el archivo fuente (posiblemente su única copia) el que se destruye. Archivos de Excel dañados sin embargo, se puede reparar con herramientas de terceros, lo que ahorra tiempo y esfuerzo considerables.
Introducción del autor:
Felix Hooker es un experto en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo reparación rar Archivo y productos de software de recuperación de sql. Para más información visite www.datanumen.com
