Automatizar export de datos de SAP a Excel

Hola,
Como usuario de contabilidad he tenido que bajar información de SAP infinitas veces, y la verdad que las formas más conocidas por el usuario común y silvestre no han sido de mi agrado, pienso que la que debe trabajar SIEMPRE es la computadora :wink:

En la empresa que estaba trabajando usaban la opción de Exportar a Excel y era necesario renombrar cada vez el archivo, las columnas salían terrible, para mí algo horrible cuando hacés bajadas todo el tiempo.
Entonces me di a la búsqueda de una solución más agradable, y encontré la opción de una Macro muy simple que trabaje por mí.

En fin, primero un click en el

Luego:

Finalmente:

Acá hay que prestar atención:

  • el Directorio sugiero dejarlo como lo propone SAP, va a tener una pinta similar al que ven en la imagen. ¿Y por qué? para no tener que modificar la macro si, por ejemplo, cambiamos de PC.
  • el Fichero poner a.txt y no cambiarlo nunca, esto también es importante para la macro.

Ahora la macro (copian este código y lo pegan en el editor de macros de Excel):

Public Sub Importar_Txt()

    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\usuarios\miUsuario\Documents\SAP\a.txt", Destination:=Range("$A$1"))
        .Name = "a"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 1252
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileOtherDelimiter = "|"
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    Columns("A:A").ColumnWidth = 4.43
    
End Sub

Esa macro la tienen que guardar en el libro personal Click aquí si no sabés cómo.
De esta manera, cada vez que exportan la info la pueden obtener con solo abrir Excel y ejecutando la macro. Lo más pro es poner un botón para ejecutarla, Click aquí si no sabés cómo.

Seguramente quienes no conocen macros lo van a ver como un chino, pero creanme que es de lo más simple.

Espero les sirva!
Saludos

29 Me gusta

Perfecto Aporte Ragis, se te agradece un abrazo.

1 me gusta

Muy útil la explicación. Es de gran ayuda. Muchas gracias.

1 me gusta

Muy bueno!! Gracias por el aporte

1 me gusta

muy util, muchas gracias

1 me gusta

Muy interesante el aporte, gracias

1 me gusta

¡Excelente! una pregunta:

¿Funciona esta macro para TODAS las tablas que baje de SAP por igual?

Hola,
Si sigues los pasos, sirve para todos los reportes que puedas descargar.

Saludos

2 Me gusta

Yo tengo una manera diferente de realizar consultas sobre SAP desde Excel, creando un documento ligado a la base de datos y extraes la informacion con una consulta directamente a SAP

Hola,
Has compartido un paso a paso para hacerlo?

Saludos

2 Me gusta

Buen dia un cordial saludo para todos,
Amigo Ragisbert una consulta, use tu macro y me esta arrojando un error, en principio la copi tal cual esta, luego realice en proceso de exportacion y vi el directorio y lo reemplace en tu macro y sigue dando eror, me podrias ayudar por favor ya que constantemente estoy bajando reporte de las trasacciones LT22 y LX03 gracias.

Hola,
Cuál es el error?

Estimado Ragisbert, te agradezco por la macro para exportar Txt a PLanillas de cálculo, que me va a servir en miles de casos. Pero en el caso de Sap no lo veo necesario, ya que cambiando la extención de . Txt a .xls o .xlsx , el archivo ya sale en hoja de cálculo.
Muchas Gracias

Interesante la solución, espero poder usarlo pronto.

Muchas Gracias!

Puedes compartirnos tu metodología?, sería un gran aporte!

Hola, muchas gracias por esta ayuda. en principio me ayudaría mucho, ya que cuando he pasado archivos de sap a Excel, me da problemas con la interpretación de números y texto y es un caos para hacer fórmulas.
el problema que me ocurre al hacer esta macro, es que cada vez que cambio de hoja y/o pulso el botón, las fórmulas que asocio a la tabla corren hacia la derecha o desaparece la referencia.
muchas gracias por su ayuda

Hola a todos, una consulra, necesito el codigo para guardar una hoja que exporto de SAP, pero al exportar genera la hoja de excel pero sin nombre y si no se la guarda se borra. Gracias.

Que tal Rcareaga

Saludos desde mexico, te invito a que de acuerdo a las normas del foro postees en la seccion de presentaciones el historial que tienes en SAP asi como version con que trabajas y a que se dedica la empresa donde trabajas, esto con la finalidad que los compañeros tengan el contexto de tu perfil y poder apoyarte, ademas de comentarte que tu post lo colocaste en una seccion que no respeta las reglas ya que este debe de ir en la seccion de consultas de SAP, lo muevo pero te invito a compartir tu presentacion y leas las normas para que sepas navegar en el foro, seas bienvenido, un abrazo

Una publicación ha sido separada a un nuevo tema: Automatizar datos de SAP en Google Preadsheets

Hola,

Se podría hacer esto en googlesheets