Excel Macro VBA importar xml a excel

Hice una macro para importar un fichero xml a excel. Todo bien, el problema es que uno de los campos que viene en formato texto, al importarlo no conserva ese formato, se queda en formato general. Es una columna numérica de este tipo 1,202020 o 2,33333 etc. Al importar aparece de esta manera: 1202020 o 233333 etc. Me elimina la coma. Os pego el código que estoy usando, por si alguien supiera otro y poder probar con él, o si añadiendo algo más me conserva el formato original, a ver si se soluciona ese error. Gracias!

Dim FilePath As String
   Dim Book As Workbook
   'Load XML Data to New Workbook
    FilePath = "\\MIRUTA\*.xml"
    Set Book = Workbooks.OpenXML(FilePath)
  'Copy to active Worksheet
    Book. Sheets(1). UsedRange. Copy ThisWorkbook. Sheets("FICHERO"). Range("A1")
 'Close New Workbook Book.Close False

1 Respuesta

Respuesta
1

Agrega esta opción a esta línea:

Set Book = Workbooks.OpenXML(FilePath, LoadOption:=2)
'Asi también se puede escribir:
'Set Book = Workbooks.OpenXML(FilePath, LoadOption:=xlXmlLoadImportToList)

En la ayuda de Excel aparece esto:

Specifies how Excel opens the XML data file.
Xlxmlloadoption enumeration (excel)
Name                    Value    Description
XlXmlLoadImportToList 2 Places the contents of the XML data file in an XML table.
XlXmlLoadMapXml 3 Displays the schema of the XML data file in the XML Structure task pane.
XlXmlLoadOpenXml 1 Opens the XML data file. The contents of the file will be flattened.
XlXmlLoadPromptUser 0 Prompts the user to choose how to open the file.

¡Gracias, David! Funcionó perfecto!

Gracias, me alegro!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas