Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/05/2011, 19:18
Avatar de mrocf
mrocf
 
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 9 meses
Puntos: 88
De acuerdo Datos Externos Web

La página Web que conectas es uruguaya por lo que -imagino- que tú también lo eres.

En tal caso es probable que la Configuración Regional de tu PC (aquí el Excel no tiene nada que ver) contemple:

-> Separador de miles: el punto
-> Separador decimal: la coma

Si miras con atención la página que vinculas a tu hoja, verás que su información tiene la característica opuesta: el punto como "separador decimal".
Ello hace que el Excel no sepa interpretar correctamente la información.

Puedes solucionarlo de dos maneras:

a) Cambiando la Configuración Regional de toda tu PC (lo que no sería una buena idea si sólo requieres el cambio para esta captura de información); ó

b) Mediante una macro, cambiando brevemente la configuración de los separadores y retornándola a lo usual luego de la actualización de la tabla externa.

Si te decides por esta segunda opción, te sugiero entonces:

1º) Haz click derecho en la solapa de la hoja en la que tienes el vínculo externo, y selecciona la opción: Ver código.

2º) En la ventana que se te abrirá, copia y pega la siguiente macro:
Código PHP:
Sub ActualizaCambio18()
With Application
  
.UseSystemSeparators False
  
.DecimalSeparator "."
  
.ThousandsSeparator ","
  
[A1].QueryTable.Refresh BackgroundQuery:=False
  
.UseSystemSeparators True
End With
End Sub 
3º) Cierra todas las ventanas del ambiente Visual Basic for Application en el que te encuentras y retorna al Excel.

4º) Incorpora a la hoja en cuestión un botón que ejecute la macro recién incorporada: ActualizaCambio18

A partir de entonces, cada vez que hagas click en el botón obtendrás el resultado deseado.

En el código que te muestro, estoy imaginando que la celda [A1] forma parte del vínculo externo (como en el ejemplo que has subido). De no ser así: modifícalo.

Comenta tus impresiones, por favor.
Saludos, Cacho.