Andreas Unkelbach
Werbung


Samstag, 15. Februar 2014
09:40 Uhr

Office Integration - Excelansicht in SAP und Daten kopieren nach Excel

Beim Export von Daten aus SAP (oder auch einen anderen ERP System) kann es hin und wieder Anpassungsbedarf geben, da die Daten in einen Format zur Verfügung gestellt werden, dass nicht ohne weiteres weiter verarbeitet werden kann.

Einige dieser Probleme (und deren Lösung) möchte ich anhand von typischen exportierten Berichten erläutern. Was die Erstellung von Berichten innerhalb SAP anbelangt sind einige Artikel in der Rubrik SAP zu finden. Unter anderen dürfte der Artikel "Unterschiedliche Auswertungsmöglichkeiten im Controlling / Finanzbuchhaltung bzw. Rechnungswesen (Report Writer, Recherchebericht, SAP Query) und natürlich Excel ;-)" einen guten Überblick bieten.

Ferner ist im Artikel "Grundlagen - Berichte von SAP nach Excel exportieren" der Weg von SAP nach Excel für Report Writer/Painter Berichte, Rechercheberichte und auch ALV Listen (bspw. für SAP Query) erläutert.





Fehlerhafte Farben beim Kopieren


Werden bei aktivierter Office-Integration Daten aus der in SAP dargestellten Excelmappe in eine andere Excelmappe kopiert werden hier die Hintergrundfarben der Datenzellen abweichend von der Ansicht in SAP dargestellt.


© SAP SE. Alle Rechte vorbehalten

Im Beispiel werden die blau hinterlegten Datenzeilen bei der Kopie in Lila (Schlüsselspalte) und Rot (Daten) anstatt in den Blautönen dargestellt. Die Summenzeilen werden nicht in Gelb sondern Grün dargestellt und die Berichtsinformationen sind in schwarzer Schrift auf schwarzen Hintergrund gehalten.

Ursache hierfür ist, dass in der generierten Excel-Mappe der Office-Integration die Farbpalette von Excel an die Farben des SAP GUI angepasst werden.

Dieses hat den Nachteil, dass beim Kopieren in eine "normale" Excelmappe diese Farbinformationen nicht mehr stimmen.

Um nun dennoch diese Daten ordentlich weiter bearbeiten zu können gibt es zwei Möglichkeiten:

1. Daten als Text über Inhalte einfügen kopieren

Excel bietet über die rechte Maustaste die Option Inhalte einfügen:

Inhalte einfügen

Sind aus der integrierten Excelmappe die Daten kopiert können diese hier als Text eingefügt werden. Hierzu ist die Option Einfügen Werte zu wählen.

Hierdurch werden die Daten als reiner Text in die neue Excelmappe eingefügt.

2. Als OpenDocument-Spreadsheet (*.ods) speichern

Eine zweite Möglichkeit, unter Beibehaltung der Formatierung, ist es die Daten über die Speichernfunktion in ein Format zu speichern in dem die Anpassung der Farbpalette nicht mitgespeichert wird.

Hierzu wird die Funktion
  • Speichern unter
  • Andere Formate
aufgerufen. Hier kann dann nicht nur ein Dateiname sondern beim Dateityp auch "OpenDocument-Spreadsheet (*.ods)" gewählt werden.

Die so gespeicherte *.ods Datei kann wiederum in Excel geöffnet werden und von dort als "normale" Exceldatei gespeichert werden, ohne dass hier die Farbpalette angepasst ist.

Diese Methode hat gleichzeitig den Vorteil, dass die Standardfarben (blau/gelb etc.) von SAP auch in der Tabelle erhalten bleibt. Sofern die ODS Datei dann in Excel geöffnet wird kann diese wieder als XLS gespeichert werden, so dass hier die zugewiesenen Farben von SAP erhalten bleiben, ohne dass künftig Probleme beim Kopieren der Werte entstehen.





 

Zahlen als Text in Zahlen umwandeln


Ein weiteres Problem können Zahlen (bspw. aus Stammdatenlisten) sein, die als Text formatiert sind. Auch wenn die Zahl als Zahl formatiert wurde (über die rechte Maustaste und "Zellen formatieren" oder die Symbolleiste Start in der Gruppe Zahl) weist Excel dennoch auf den Fehler hin, dass es sich hier um eine Zahl handelt, die als Text formatiert ist. Nun kann entweder aus den Kontextmenü der Hinweismeldung die "Textzahl" in eine richtige Zahl verwandelt werden:

Fehlermeldung Die Zahl ist als Text formatiert

Alternativ bieten sich auch hier zwei andere Alternativen an:

1. Multiplikation mit 1

Die Textzahlen können durch Multiplikation mit 1 in eine echte Zahl umgewandelt werden.

Hierzu ist in eine andere Zelle eine 1 einzutragen (und zu kopieren). Nun können die Textzahlen markiert werden und über "Inhalte einfügen" die Funktion "Multiplizieren" gewählt werden. Hierdurch werden die Textzahlen mit der 1 aus der Zwischenablage multipliziert und damit auch in eine Zahl umgewandelt.

Dadurch sind diese auch als Zahl markiert und können bspw. per SVERWEIS in einer anderen Tabelle verwendet werden.

2. Makro

Sofern häufiger Daten kopiert werden und diese in Zahlen umgewandelt werden müssen bietet es sich an, hierfür ein entsprechendes Makro zu verwenden.

Dieses sollte wie im Artikel Excel Umgang mit Makros und Visual Basic for Applications (VBA) in die Persönliche Makroarbeitsmappe gespeichert werden, so dass diese innerhalb aller Excelmappen zur Verfügung steht.

Folgender Makrocode kann hierbei helfen:

Sub SAP_Markierung_Text_in_Zahl()
'
' SAP_Markierung_Text_in_Zahl Makro
' Wandelt aus Markierung als Text formatierte Zahlen in Zahl um
'

'
For Each Wert In Selection
Selection.NumberFormat = "0"
Wert.Value = Wert.Value
Next Wert
End Sub

Hier können die "Textzahlen" markiert werden und durch Aufruf des Makros werden die Textzahlen als Zahlen ohne Dezimalstellen formatiert, was sich gerade für Stammdatenlisten (Innenaufträge oder Kostenstellen) anbietet. Das Makro formatiert die Werte als Nummern und weist den Wert erneut den Wert zu, womit der Wert erneut eingetragen wird.

3. Nutzen der Funktion "Text in Spalten"
Eine weitere Alternative wurde mir per Kommentar empfohlen. Hierzu können die fraglichen Zahlen markiert werden und die Funktion "Text in Spalten"  (zu finden innerhalb des Ribbon "Daten" in der Befehlsgruppe "Datentools" ) starten. Eigentlich ist diese Funktion dafür gedacht den Inhalt einer Zelle auf mehrere Zellen aufzuteilen um beispielsweise die Angabe von Kostenstelle und Kostenstellenbezeichnung über Trennzeichen oder feste Breite direkt aufzuteilen. Sofern hier direkt auf "Fertig stellen" geklickt wird, sollen ebenfalls die Daten in Zahlen umgewandelt werden.



Negativzeichen hinter Zahlenwert


Negative Werte werden in SAP beim Export nach Excel als Text formatiert und das Negativzeichen rechts vom Wert dargestellt.

Um nun mit diesen Zahlen (Beispielsweise 19,78-) zu rechnen ist es erforderlich das Negativzeichen vor der Zahl zu setzen.

Auch hier bieten sich zwei Möglichkeiten an:

1. Auslesen der Zahl ohne nachgestelltes - und Multiplikation mit -1

Hierzu kann die Zahl ohne nachgestelltes Negativzeichen genommen werden und mit -1 multipliziert werden. Dieses ist dann in einer Extraspalte erforderlich.

Befindet sich der Wert 19,78- in der Zelle A2 könnte die Formel wie folgt lauten

=LINKS(A2;LÄNGE(A2)-1)*-1


Dieses hat jedoch den Nachteil, dass hier auch positive Zahlen entsprechend verrechnet werden.

Optimiert wäre dieses in Kombination mit einer Wenn Funktion wie zum Beispiel

=WENN(UND(RECHTS(A2;1)="-";ISTZAHL(LINKS(A2;LÄNGE(A2)-1)*1));LINKS(A2;LÄNGE(A2)-1)*-1;A2)


Nun wird nur mit -1 multipliziert, wenn das rechte Zeichen tatsächlich ein "-" ist, sofern es sich dabei um eine Zahl handelt.

Dieses ist verständlicherweise auch ziemlich aufwändig.

2. Makrolösung

Auch hier bietet sich ein Makro an, welches aus den ausgewählten Werten wiederum

Sub SAP_Export_Buchhaltung()
'
' SAP_Export_Buchhaltung Makro
' Wandelt Markierte Werte aus SAP in Buchhaltungszahlen um Minuszeichen wird vorran gestellt
'

'
AnzahlWerte = Cells(Rows.Count, Selection.Column).End(xlUp).Row
For Each Wert In Selection
If Wert.Row > AnzahlWerte Then Exit For
If Right(Wert.Value, 1) = "-" And IsNumeric(Wert) _
Then Wert.Value = Left(Wert, Len(Wert) - 1) * (-1)
Next
Selection.Style = "Comma"
End Sub

 

 

Dieses Makro wandelt die markierten Werte mit vor ran gestellten Negativzeichen um und wird nur auf Werte angewendet wenn es sich um Zahlen handelt, so dass bspw. "Text-" bestehen bleibt. Ferner werden alle Werte im Format Buchhaltung mit Tausenderkennzeichen und ohne Währungszeichen formatiert.
Neben dieser Lösung in Excel besteht aber, zumindest für Berichte im Controlling auch die Möglichkeit, dass Standardlayout in SAP so umzustellen, dass auch hier schon die Daten mit vorrangestellten Vorzeichen ausgegeben werden. Dieses ist im Artikel "Darstellung negatives Vorzeichen in SAP - Standardlayout anpassen für vorrangestelltes Vorzeichen" näher erläutert.




Zeilen oder Spalten einfügen


Um die Liste von nützlichen Makros zu erweitern bieten sich auch noch zwei weitere Makros an, die eine bestimmte Zahl an Zeilen oder Spalten in die Excelmappe einfügen. Dieses kann ggf. schneller sein, als einen Bereich an Zeilen zu markieren und per rechter Maustaste die Funktion "Zeile einfügen" aufzurufen.

Makro zum Einfügen von Zeilen:

Sub Excel_Zeilen_einfügen()
anzahlzeilen = InputBox("Anzahl einzufügender Zeilen")
For i = 1 To anzahlzeilen
Selection.Insert Shift:=xlDown
Next i
End Sub

Makro zum Einfügen von Spalten:

Sub Excel_Spalten_einfügen()
anzahlspalten = InputBox("Anzahl einzufügender Spalten")
For i = 1 To anzahlspalten
Selection.Insert Shift:=xlToRight
Next i
End Sub

Insgesamt erleichtern solche Makros definitv die tägliche Arbeit. Ergänzend würde ich auch noch gerade für größere Tabellen, das im Artikel Inhaltsverzeichnis in Excel über vorhandene Tabellenblätter in die persönliche Makroarbeitsmappe übernehmen.

Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionen und Bestellmöglichkeit zu finden.
Espresso Tutorial - die digitale SAP Bibliothek

Diesen und weitere Texte von finden Sie auf http://www.andreas-unkelbach.de


Kommentare

Gast am 4.6.2014 um 14:03 Uhr
Text -> Zahlen funktioniert am besten mit Text in Spalten. Dazu die Spalte markieren, Text in Spalten wählen und direkt mit fertigstellen abschließen.


Andreas Unkelbach Homepage am 4.6.2014 um 14:09 Uhr
Hallo Gast,

auf die Variante über die Funktion "Text in Spalten" als Text formatierte Zahlen in Zahlen umzuwandeln bin ich noch nicht gekommen würde diese aber dann ebenfalls im Artikel ergänzen.

Vielen Dank für diesen Hinweis
Andreas Unkelbach


Anonym am 20.8.2015 um 11:23 Uhr
Danke!


TerPursche am 24.8.2015 um 09:03 Uhr
Bezüglich der Farbinformationen kann man (bei Office 2013) unter "Excel-Optionen -> Speichern -> Farben -> Farbinformationen kopieren aus" auch die Farbpalette aus einem SAP-Excel Sheet oder einem aus dem SAP gespeicherten Excel-Sheet kopieren und somit mit den Farben, wie sie im SAP erscheinen weiterarbeiten.

Gruß,

TerPursche


Andreas Unkelbach Homepage am 24.8.2015 um 09:08 Uhr
Guten Morgen TerPursche,

diese Option ist tatsächlich auch unter Excel 2010 vorhanden. Es stellt sich für mich dann nur die Frage, ob in einer bestehenden Tabelle (in der die Daten aus SAP eingefügt werden sollen) dann nicht die vorhandenen Farbinformationen überschrieben werden, so dass zwar die Originaldaten aus SAP korrekt farblich dargestellt werden, jedoch "Fehlfarben" in den anderen Excel-Tabellenblättern auftreten.

Dennoch vielen Dank für deinen Hinweis.

Andreas Unkelbach


Martin Hoffmann Homepage am 12.10.2016 um 21:34 Uhr
Interessanter Artikel! Für regelmäßigen Export von Daten aus SAP in Excel halte ich es für sinnvoller die Daten direkt im SAP im richtigen Format in die Exceldatei zu schreiben.
Klar, ist mit einmaligen Kosten verbunden, aber spart dafür den wiederholten manuellen Aufwand und man braucht keine Makros in den Office Dateien.
Bei Interesse: wir hätten da was passendes im Angebot ;)

Grüße,
Martin Hoffmann


Andreas Unkelbach Homepage am 22.10.2016 um 16:31 Uhr
Die Office Integration (sei es Excel oder auch Winword) ist definitiv ein Thema dass auch für Berichte sehr spannend ist. Gerade der Verzicht auf Makros könnte hier tatsächlich das Angebot von Martin Hoffmann (siehe obigen Kommentar) hier stellt sich dann natürlich auch dei Frage, ob dieses bei jeden Bericht (inkl. eigenentwickelte ALV Listen oder PSM-FM Rechercheberichte unproblematisch möglich ist.

Einen vergleichbaren Ansatz hatte auch vor einigen Jahren SAP mit DUET zur Verfügung gestellt hatte.

Ich bin mir aber sicher, dass auch das obige Angebot mehr als einen Blick wert ist. :-)


syl am 20.7.2018 um 13:35 Uhr
Danke! Danke! Danke!

Das Problem mit dem Farbschema hat mich ein paar Wochen immer wieder
beschäftigt. Jetzt funktioniert es einwandfrei.
Sie haben mir mit dem Artikel sehr geholfen.

GLG


Andreas Unkelbach Homepage am 20.7.2018 um 14:26 Uhr
Hallo syl,

vielen Dank für die positive Rückmeldung. Gerade wenn die exportierten Daten auch weiter verarbeitet werden sollen hat mich dieses ebenfalls schon den ein oder anderen Nerv damals gekostet. Zum Glück gewöhnt man sich an das andere Dateiformat relativ schnell und so bin ich hier ebenfalls froh eine Lösung teilen zu können.

Viele Grüße
Andreas Unkelbach


Auch kommentieren?


Beim Versenden eines Kommentars wird mir ihre IP mitgeteilt. Diese wird jedoch nicht dauerhaft gespeichert; die angegebene E-Mail wird nicht veröffentlicht: beim Versenden als "Normaler Kommentar" ist die Angabe eines Namen erforderlich, gerne kann hier auch ein Pseudonyme oder anonyme Angaben gemacht werden (siehe auch Kommentare und Beiträge in der Datenschutzerklärung).

Eine Rückmeldung ist entweder per Schnellkommentar oder (weiter unten) als normalen Kommentar möglich. Eine persönliche Rückmeldung (gerne auch Fragen zum Thema) würde mich sehr freuen.

Schnellkommentar (Kurzes Feedback, ausführliche Kommentare bitte unten als normaler Kommentar)

Name (sofern kein Name angegeben wird erscheint Anonym):



Ich nutze zum Schutz vor Spam-Kommentaren (reine Werbeeinträge) eine Wortliste, so dass diese Kommentare nicht veröffentlicht werden. Sollte ihr Kommentar nicht direkt veröffentlicht werden, kann dieses an einen entsprechenden Filter liegen.

Im Zweifel besteht auch immer die Möglichkeit eine Mail zu schreiben oder die sozialen Medien zu nutzen. Meine Kontaktdaten finden Sie auf »Über mich«. Ansonsten antworte ich tatsächlich sehr gerne auf Kommentare und freue mich auf einen spannenden Austausch.

Normaler Kommentar

Name:

E-Mail (wird nicht veröffentlicht und ist nicht erforderlich):

Homepage:

Kommentar:





* Amazon Partnerlink
Als Amazon-Partner verdiene ich an qualifizierten Käufen über Amazon.
Hinauf




Werbung



Logo Andreas-Unkelbach.de
© 2004 - 2018 Andreas Unkelbach
Gießener Straße 75,35396 Gießen,Germany
andreas.unkelbach@posteo.de
Andreas Unkelbach

Stichwortverzeichnis
(Tagcloud)


Aktuelle Infos (Abo)

Facebook Twitter Google+

»Schnelleinstieg ins SAP Controlling (CO)« und »Berichtswesen im SAP ® ERP Controlling«
Privates

Kaffeekasse 📖 Wunschliste