Andreas Unkelbach
Logo Andreas Unkelbach Blog

Andreas Unkelbach Blog

ISSN 2701-6242

Artikel über Controlling und Berichtswesen mit SAP, insbesondere im Bereich des Hochschulcontrolling, aber auch zu anderen oft it-nahen Themen.


Werbung

Weiterbildung zu diversen SAP Themen

Hat Ihnen dieser Beitrag weitergeholfen? Gerne stehe ich für Vorträge und Seminare im Rahmen "Berichtswesen mit SAP Controlling" als Dozent zur Verfügung. Weitere Informationen unter

www.unkelbach.expert



Freitag, 14. Juni 2013
15:59 Uhr

Transaktionsart in SE93 ändern

Ausgangslage:

Für einen PSM Recherchebericht wurde aus der PFCG eine kundeneigene Transaktion angelegt. Nach Aufruf dieser Transaktion erscheinen im Selektionsbild die zusätzlichen Felder "Aktualität der Daten (Lesemodus) sowie Druckeinstellungen und Vorverdichtung. Dieses ist bei anderen Transaktionen von Rechercheberichten oder beim Start über die Transaktion FMEQ (Recherchebericht ausführen) nicht der Fall. Auch wenn diese Felder dann über eine entsprechende Selektionsvariante ausgeblendet werden kann, ist dieses doch iritierend.

Lösung:
Ursache hierfür ist, dass aus der PFCG eine Reporttransaktion statt Parametertransaktion angelegt worden ist. Hier kann jedoch über die Transaktion SE93 der Transaktionstyp von Reporttransaktion auf Parametertransaktion geändert werden.

Dieses ist über
  • Bearbeiten
  • Transaktionsart ändern
möglich umzustellen.

Der Vorteil einer Parametertransaktion ist, dass einzelne Dynprofelder des Reports vorab belegt werden können. Hier scheinen dann auch die oben geschilderten und auch in der FMEQ nicht auftauchenden Felder ebenfalls automatisch belegt zu sein, so dass hier diese automatisch beim Transaktionsaufruf gefült und ausgeblendet sind. Ein weiterer Vorteil der Paramatertransaktion ist es auch, dass gegebenfalls auch Selektionsvarianten mit ausgegeben werden können.

Im Artikel Transaktion anlegen (Report, Parameter) bspw. für SAP Query ist die Vorgehensweise anhand einer SAP Query erläutert. Gerade beim Einführen von neuen Berichten (so auch Rechercheberichte aus PSM) sollte auch die Vorgehensweise beim Erstellen von Transaktionen beachtet werden.

Innerhalb einer 3-Systemlandschaft (Entwicklung, Test, Produktiv) kann es daher sinnvoll sein erst in einen Testnamensraum (bspw. Y*) entsprechende Transaktionen zu testen und produktiv in einen anderen Namensraum (bspw. Z*) die tatsächlich zu verwendenden Transaktionen anzulegen.

Im Rahmen des Transportwesen ist dabei zu beachten, dass es sich beim Anlegen von Transaktionscodes um Workbench-Aufträge und nicht Customizing-Aufträge handelt, so dass hier (gerade beim Einsatz in einer Mehrmandantenumgebung) auch aus Seiten der Berechtigungen eine Einschränkung beim Transport geben kann. Diese Unterscheidung ist relevant, da Einstellungen eines Customizing-Auftrages mandantenabhängig und eines Workbench-Auftrages mandantenunabhängig sind. Wobei hierbei die Pflege der Transaktionen zwar als Workbench-Auftrag definiert ist, da hierzu entsprechende Tabellen gepflegt werden. Eine Übersicht über vorhandene Transaktionen kann auch in der Tabelle TSTC bzw. TSCT wie unter Verwendungsnachweis von Tabellen in Transaktionen beschrieben erstellt werden.

Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionenzu finden. Mein Weiterbildungsangebot zu SAP Themen finden Sie auf unkelbach.expert.
Werbung
Schnelleinstieg in das Controlling (CO) mit SAP S/4HANA (📖)

Für 29,95 € direkt bestellen

Oder bei Amazon ** Oder bei Autorenwelt

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


Freitag, 14. Juni 2013
15:50 Uhr

Benutzereigene SAP Menüs (Favoriten, Benutzermenü, Bereichsmenü)

Ausgangslage
Bei der Erstellung eines Berechtigungskonzeptes kann ein Thema auch die Frage sein, wie die Benutzer mit der Anwendung umgehen sollen. Hierbei ist es sicher die einfachste Möglichkeit einfach das SAP Menü im Standard zu benutzen. Jedoch kann es immer wieder erforderlich sein auch darüber hinausgehende Funktionen schnell zugängig zu machen.

Hier gibt es verschiedene Möglichkeiten die nach Aufwand kurz erläutert sind.

a) Favoriten

Für jeden User besteht die Möglichkeit sich Favoriten über das Menü Favoriten anzulegen. Hier gibt es die Möglichkeit Ordner anzulegen, Funktionen aus den SAP Menü als Favoriten abzulegen (meistens wird dann auch der Pfad in die Beschreibung mit übernommen) oder auch Transaktion einfügen.

Zur zentralen Verwaltung der Favoriten besteht die Möglichkeit diese über einen Referenzuser oder per Upload innerhalb der User zu verteilen. Ein Referenzuser dient hierbei bei der Anlage eines neuen User als Vorlage (Kopie des bestehenden Users) und kann sowohl Parameter als auch Favoriten enthalten.Die direkte Übertragung von Favoriten ist der "Download auf PC" bzw. "Upload auf PC" innerhalb des Favoriten-Menüs.

Innerhalb der Tabelle SMEN_BUFFC ("Tabelle für die Ablage der Favoriten") werden die Einträge der einzelnen User gespeichert, so dass hier anhand eines Benutzernamen auch eine Auswertung über vorhandene Einträge möglich ist bzw. auch hier eine Pflegemöglichkeit gegeben wäre.

Meistens sind in den Favoriten durch die einzelnen Benutzer auch die häufigst genutzten Transaktionen und kann auch als Basis für die Neukonzeptionierung von Berechtigungen dienen.


Favoriten haben jedoch den Nachteil nur Transaktionen beziehungsweise Einträge aus den SAP Menü zu übernehmen. Hier besteht natürlich der Nachteil, dass SAP Query, Rechercheberichte oder ReportWriter Berichte nicht direkt eingebunden werden können.

Zwar gibt es die Möglichkeit über kundeneigene Transaktionen (wie im Artikel "Transaktion anlegen (Report, Parameter) bspw. für SAP Query Unterschied Parameter- oder Reporttransaktion" oder unter Parametertransaktionen bzw. ausführlicher im Artikel "Kundeneigene Transaktionen zu Berichten in PSM FM Haushaltsmanagement zum Beispiel Belegjournal anlegen (Variantentransaktion)" beschrieben) anzulegen aber hier ist dann auch ein entsprechend hoher Aufwand zu betreiben. Außerdem müssen diese Transaktionscodes auch in Erinnerung behalten werden.
 

b) Benutzermenüs

Eine andere Alternative ist die Nutzung der Benutzermenüs welche innerhalb der Berechtigungspflege innerhalb des Profilgenerators (Transaktion PFCG) eingepflegt werden können. Ein Nachteil dieser Methode kann jedoch sein, dass eine Transaktion nur einmalig im Menü auftaucht. Sofern bspw. die Transaktion FK03 (Kreditor anzeigen) innerhalb eines Benutzermenübaumes hinterlegt ist wird diese nur einmalig ausgegeben und nicht an mehreren Positionen des Benutzermenüs. Dieses scheint jedoch bei aktuelleren Releases nicht mehr der Fall zu sein.

Hinweis
Um eine entsprechende Funktion innerhalb des Benutzermenüs dann aus Anwendersicht zu finden ist es hilfreich die Transaktion "search_user_menu" als Gegenstück zur Suche im SAP Menü uber die Transaktion "search_sap_menu" zu verwenden. Alternativ kann auch mit der Suchenfunktion (STRG F) das jeweilige aktive Menü durchsucht werden.

c) Erweiterung SAP Menü / Bereichsmenü


Eine entsprechende komplexere Möglichkeit besteht darin das vorhandene SAP Menü um eigene Berichte zu erweitern. Einzelne Menübäume sind hierbei als Bereichsmenüzweige pflegbar. Das gesamte SAP Menü liegt zum Beispiel innerhalb des Bereichsmenü S000 und kann wie unter "SAP Menü exportieren" beschrieben als Liste exportiert werden.

Eine andere Möglichkeit ist es ein entsprechendes Untermenü zu bearbeiten. Details zum Bereichsmenü kann auf einen Menüknoten unter Zusätze->Technische Detailinformationen eingesehen werden.

So kann unter
  • Rechnungswesen->
  • Controlling
  • Profit-Center-Rechnung
  • Infosystem
unter der Anzeige technischer Details als Bereichsmenü KE50 angezeigt werden. Ein Bereichsmenü kann nun auch direkt aufgerufen werden (bspw. durch /nKE50 für einen neuen Modus oder aber auch im Benutzerstamm unter Festwerte (entweder in der Benutzerpflege oder wie unter SAP Parameter auf Benutzerebene beschrieben über die Transaktionen SU3 im Reiter Festwerte als Startmenü hinterlegt werden.

Durch das Hinterlegen des Bereichsmenü KE50 wird nun statt des SAP Menüs das Menü der Profit-Center-Rechnung aufgerufen.

Neben der Erweiterung bestehender Menüs ist es aber auch möglich kundeneigene Z-Menüs anzulegen. So könnten bspw. PSM Rechercheberichte unter einen Bereichsmenü mit der Bezeichnung ZFMR oder auch ZFMEQ hinterlegt werden.

Die Pflege eines Bereichsmenü erfolgt unter
  • Werkzeuge
  • ABAP Workbench
  • Entwicklung
  • Weitere Werkzeuge
  • Bereichsmenü Transaktion SE43



Hier kann dann entweder ein neues Bereichsmenü (bspw. ZFMEQ) angelegt werden oder ein bestehendes Bereichsmenü bearbeitet werden. Sofern ein vorhandenes Bereichsmenü bearbeitet werden soll, ist es sinnvoll dieses über Erweitern statt Ändern zu bearbeiten, da anderenfalls nach einen Upgrade das Menü wiederum überschrieben wird.

Innerhalb des Bereichsmenü können nun einzelne Ordner angelegt werden. Die entsprechenden Unterordner können über den Punkt "Eintrag auf gleicher Ebene hinzufügen" innerhalb der Symbolleiste eingefügt werden.

Um einen Bericht innerhalb des Bereichsmenü einzufügen kann die Funktion "Eintrag eine Ebene tiefer hinzufügen" ausgewählt werden. Hier kann dan ein Bericht über die Schaltfläche Bericht hinzugefügt werden. Hier besteht nun die Möglichkeit einen ABAP Report, SAP Query, Transaktion mit Variante, ReportWriter (als Berichtsgruppe) oder auch Recherchebericht einzufügen. Dabei wird automatisch neben einen Menüeintrag auch ein entsprechender Transaktionscode angelegt (Y* Transaktion).

Hinweis: Früher[TM] Anwendungsbaum (Transaktion SERP)

Vorgängerin der Bereichsmenü waren die sogenannten Anwendungsbäume. Diese konnten mit der Transaktion SERP gepflegt werden und sind heute durch die Bereichsmenü abgelöst worden. Sollten Sie noch Anwendungsbäume im Einsatz haben, dann können Sie über die Transaktion RTTREE_MIGRATION diese entsprechend umwandeln lassen. Die Anwendungsbäume waren bis R/3 4.6a aktuell, daher ist das schon ein ziemlicher Schritt in die Vergangenheit ;-).

 

Fazit

Gerade wenn mehrere Varianten eines Berichts (als Varianten innerhalb einer Parametertransaktion) oder unterschiedliche Rechercheberichte bzw. selbst entwickelte Berichte zur Verfügung gestellt werden sollen ist dem Aufruf der direkte Aufruf von Rechercheberichte (in PSM zum Beispiel über die Transaktion FMEQ) oder von ReportWriter Berichten (über die Transaktion GR55 (Berichtsgruppe ausführen) oder gar GRR3 (Bibliothek anzeigen)) eine wie oben beschriebene Vorgehensweise sicherlich zu bevorziehen.

Hierbei sollte jedoch daran gedacht werden, dass gegebenenfalls veraltetete Berichte sowohl seitens der Berechtigungen als auch seitens des Bereichsmenü wieder entfernt werden.

Insgesamt stellt aber gerade die Möglichkeit eines Bereichsmenüs oder Benutzermenüs die Möglichkeit zur Verfügung hier ein "internes" Haushaltsinformationssystem zur Verfügung zu stellen. Ggf. können hier auch externe Quellen (Dokumentationen oder Verlinkungen auf Internetseiten) hinterleght werden.

Vor der eigentlichen Anlage solcher benutzereigener Menüs sollte aber auch ein Konzept wie das SAP Berichtswesen auf Basis der Infouser aussehen soll mit den beteiligten Fachabteilungen erarbeitet werden, insbesondere da meistens Infouser auch bei den "produktiven" Usern anrufen um zu erfahren, wo denn ein entsprechender Bericht zu finden ist.

Dieses sollte bei Benutzermnüs innerhalb des SAP Berechtigungskonzeptes so abgefangen werden können, dass die Menübäume relativ vergleichbar sind.

Denkbar ist hier ein Menübaum für Infouser in der Form
  • Budgetinformationssystem
  • Berichte
    • Einzelposten
    • Summenberichte

welches bei Usern mit Buchungsberechtigung um entsprechenden funktionalen Berechtigungen erweitert wird. Hier könnte das Menü dann wie folgt aussehen:
  • Budgetinformationssystem
  • Berichte
    • Einzelposten
    • Summenberichte
  • Budgetbuchungen
    • CO Budget buchen
    • PSM Jahresbudget buchen
    • PSM Gesamtbudget buchen
    • Budget umbuchen
.
Der Knoten Budgetbuchungen ist dann nur in der Rolle der Budgetbuchungsberechtigten enthalten und ergänzt das Benutzermenü der Anzeigeberechtigten von Budgets. Auf diese Weise können auch die User innerhalb der Budgetbuchhaltung Auskunft darüber geben an welcher Stelle die einzelnen kundeneigene Berichte in SAP zu finden sind sofern nicht über eine zentrale Transaktion ZLANDESBUDGET, ZDRITTMITTEL, ... und so weiter die Berichte aufgerufen werden.

Hinweis - Berichtswesen im SAP Controlling

Nicht nur für das Berichtswesen im SAP Controlling, auch für andere Finanzberichte habe ich einige Hinweise in meinen neuen Buch zusammengefasst:

Im Buch "Berichtswesen im SAP®-Controlling" bin ich auf einige Möglichkeit zum Aufbau eines Berichtswesen eingegangen.
 
Berichtswesen im SAP®-Controlling

Eine ausführliche Beschreibung ist unter Buchempfehlungen unter Berichtswesen im SAP®-Controlling (SAP Modul CO; internes Berichtswesen) zu finden.
 
Verlag: Espresso Tutorials GmbH
1. Auflage
(01. Juni 2017)
Paperback ISBN: 9783960127406

Für 19,95 € direkt bestellen

Oder als SAP Bibliothek-Flatrate *


Daher möchte ich in diesen Artikel ebenfalls darauf verweisen. Gerade der Aufbau eines Berichtswesen ist definitiv als eine modulübergreifende Sache zu betrachten und dürfte hier nicht nur durch den Artikel "Unterschiedliche Auswertungsmöglichkeiten im Controlling (Report Writer, Recherchebericht, SAP Query) und natürlich Excel ;-)" eines der für mich spannendsten Themen rund um SAP sein, dass sich auch beruflich für die Bereiche Hochschulberichtswesen und Hochschulcontrolling anwenden lässt.

Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionenzu finden. Mein Weiterbildungsangebot zu SAP Themen finden Sie auf unkelbach.expert.
Werbung
Aktuelles von Andreas Unkelbach

unkelbach.link/et.reportpainter/

unkelbach.link/et.migrationscockpit/

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


Mittwoch, 12. Juni 2013
15:40 Uhr

Drei Varianten um Fehlermeldung bei PHP anzuzeigen

Sofern, meistens aus Sicherheitsgründen, die Ausgabe von Fehlermeldungen bei PHP deaktiviert ist, gibt es neben der Einstellungen innerhalb der Serverkonfiguration (PHP.INI) auch weitere Möglichkeiten diese zu aktivieren, sofern dieses unterstützt wird.

a) php.ini
Hier wäre die Einstellung auf

error_reporting = E_ALL
display_errors = On


zu ändern.

b) .httaccess
Hier kann über PHP Flags die Ausgabe von Fehlern wiederum aktiviert werden.

php_value display_errors 1
php_value error_reporting 6143


Zur Erklärung:
display_errors 1 schaltet die Fehlerausgabe auf an und error_reporting 6143 steht für alle Fehler.

Sofern der Server diese Konfiguration nicht unterstützt kann es zu einen unerwarteten Serverfehler kommen (HTTP-Statuscode 500)

c) innerhalb des PHP Skripts

Durch folgenden PHP Code innerhalb einer PHP Anweisung kann ebenfalls die Ausgabe von Fehlern aktiviert werden:

error_reporting(E_ALL);
ini_set('display_errors', 1);


Auch hier werden wiederum alle Fehler berichtet und per ini_set dann auch ausgegeben.

Eine Übersicht über die möglichen Werte sind auf php.net untererrorfunc.constants.php beschrieben.

Die sicherste Variante dürfte daher c) und die Angabe innerhalb eines PHP Skriptes sein. Aus Sicherheitsgründen sollte dieser Codeblock nach erfolgreichen Test aber wieder entfernt werden, da ansonsten anhand der Fehlermeldung auch Informationen zum Aufbau der Seite ausgelesen werden können.

Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionenzu finden. Mein Weiterbildungsangebot zu SAP Themen finden Sie auf unkelbach.expert.
Werbung
Aktuelles von Andreas Unkelbach

unkelbach.link/et.reportpainter/

unkelbach.link/et.migrationscockpit/

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


Mittwoch, 5. Juni 2013
23:26 Uhr

Ereignisgesteuerte Prozesskette in DIA darstellen (weitere Objekte einfügen)

Ausgangslage
Neben den schon vorhandenen Diagrammbögen (bspw. UML, ER, Datenbank, ...) bietet Dia auch die Möglichkeit weitere Objekte bzw. Diagrammbögen herunterzuladen und so das Programm um weitere Objekte zu erweitern. Beispiele können hier Baustellenzeichnungen, elektrische Schaltpläne oder auch weitere Modellierungsobjekte sein.

Innerhalb der Anwendung Dia ist es möglich überDatei->Objektbögen und Objekte ... (F9) aus den vorhandenen Objekten einen eigenen Objektbogen zu erstellen. Sofern hier aber bestimmte Objekte noch nicht vorhanden sind, kann es hilfreich sein hier "neue" Objektbögen als "Plugin" zu installieren.

Hier soll als Beispiel eine ereignisgesteuerte Prozesskette dargestellt werden.

Exkurs Definition Ereignisgesteuerte Prozesskette
Bei Ereignisgesteuerte Prozessketten (englisch: Event-driven Process Chain (EPC)) handelt es sich um eine Methode der Geschäftsprozessdarstellung.
Hierbei werden Prozesse nicht nur mit den zu Grunde liegenden Ereignissen sondern auch mit den zuständigen Organisationseinheiten verknüpft.

Diese könnte als Beispiel wie folgt aussehen.
Beispiel f�r ereignisgesteuerte Prozesskette

Lösung
Auf der Seite dia-installer.de sind im Bereich "Fundgrube für Dia-Objekte" sind einige Objekte zu finden.

Diese können entweder über das Programm Diashapes pauschal installiert werden oder einzeln als ZIP heruntergeladen und der Anwendung hinzugefügt werden.

Zur manuellen Installation müssen die einzelnen Dateien aus der .ZIP Datei in das Programmverzeichnis von DIA extrahiert werden. Hierbei ist darauf zu achten, dass bei DIA Portable dieses der Ordner "DiaPortableAppDia" ist.

Anhand der "Objekte zum Zeichnen von ereignisgesteuerten Prozessketten" möchte ich kurz die Einbindung und Nutzung dieser Diagrammbögen erläutern.

Nachdem die ZIP Datei (edpc.zip Objekte und Objektbogen, gezippt) im Programmordner entpackt worden ist kann DIA erneut gestartet werden.

Innerhalb der ZIP Datei befinden sich zwei Ordner:
  • shapesedpc
    Hier liegen die Grafikdefinitionen der Objekte
  • sheets
    Hier liegt die Datei edpc.sheet in der als XML die Sprachdatei (Übersetzung) der Diagrammbögen liegen

Sofern diese Ordner in Dia integriert sind kann DIA gestartet werden und es steht der Diagrammbogen zur Verfügung.

In diesen Fall sind die Objekte einer "Ereignisgesteuerte Prozesskette / Event-driven process chain" als Auswahl vorhanden, so dass ein entsprechendes Diagramm erstellt werden kann.

Darstellung Beispiel f�r ereignisgesteuerte Prozesskette in Dia

In den gelben Kästen sind entsprechende Beispiele für die Objektausprägungen aufgeführt.

Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionenzu finden. Mein Weiterbildungsangebot zu SAP Themen finden Sie auf unkelbach.expert.
Werbung
Schnelleinstieg in das Controlling (CO) mit SAP S/4HANA (📖)

Für 29,95 € direkt bestellen

Oder bei Amazon ** Oder bei Autorenwelt

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


Dienstag, 4. Juni 2013
18:20 Uhr

Inhaltsverzeichnis in Excel über vorhandene Tabellenblätter

Ausgangslage
Bei umfangreichen Tabellen (bspw. mehrere Tabellenblätter innerhalb einer Excelmappe) ist es oft sinnvoll im ersten Blatt eine Übersicht mit Definitionen oder ein Inhaltsverzeichnis anzulegen. Sinnvollerweise kann hier über die Funktion HYPERLINK auch auf die dahinter liegenden Excelmappen verwiesen werden. Dieses kann aber bei mehreren Tabellenblättern recht mühsam sein entsprechend diese anzulegen.



Im Beispiel gibt es ein Tabellenblatt für die Gesamtsicht und eines für einzelne Abteilungen, Fachbereiche und Verwaltung.

Lösung:
Durch einen Beitrag im VBA Entwickler-Treff von XING bin ich auf den Beitrag "Inhaltsverzeichnis für Arbeitsmappe automatisch erstellen" gestossen und habe dieses Makro für mich wie folgt angepasst.




    Sub Inhaltsverzeichnis()
    Dim intTab As Integer
    Dim tbl As Worksheet
    Dim intZeile As Integer

    Set tbl = Worksheets.Add(before:=Worksheets(1))
    intZeile = 2

    ' eingefügtes Blatt "Inhaltsverzeichnis" nennen
    Worksheets(1).Name = "Inhaltsverzeichnis"
    ActiveSheet.Name = Worksheets(1).Name
    Cells(1, 1).Value = "Enthaltene Blätter"

    For intTab = 2 To ActiveWorkbook.Worksheets.Count
    tbl.Cells(intZeile, 1).Value = Worksheets(intTab).Name

    tbl.Cells(intZeile, 1).Hyperlinks.Add _
    Anchor:=tbl.Cells(intZeile, 1), Address:="", SubAddress:= _
    "'" & Worksheets(intTab).Name & "'!A1", _
    ScreenTip:="Klicken Sie um zur Tabelle zu gelangen", _
    TextToDisplay:=Worksheets(intTab).Name


    intZeile = intZeile + 1
    Next intTab

    ' Spaltenbreite fixieren
    Worksheets(1).Cells.EntireColumn.AutoFit

    End Sub


In dieser Variante wird ein Blatt mit der Bezeichnung Inhaltsverzeichnis angelegt und mit entsprechenden Hyperlinks ergänzt. Dieses Beispiel ist im weiteren auch dokumentiert.

Angepasste Version:
Hier wird als Überschrift die Zelle A1 jeden Blattes übernommen und das erste Tabellenblatt ohne Namenszuweisung angelegt. Hierdurch kommt es zu keinen Fehler, solle ein Blatt mit der Bezeichnung Inhaltsverzeichnis schon vorhanden sein.


    Sub Inhalt_mit_Überschrift()
    Dim intTab As Integer
    Dim tbl As Worksheet
    Dim intZeile As Integer

    Set tbl = Worksheets.Add(before:=Worksheets(1))
    intZeile = 2


    ' Zellenüberschriften

    ActiveSheet.Name = Worksheets(1).Name
    Cells(1, 1).Value = "Überschrift"
    Cells(1, 2).Value = "Link"
    Cells(1, 1).Font.Bold = True
    Cells(1, 2).Font.Bold = True


    For intTab = 2 To ActiveWorkbook.Worksheets.Count

    ' Ausgabe der Zelle A1 eines jeden Arbeitsblattes als Überschrift


    tbl.Cells(intZeile, 1).Value = "='" & Worksheets(intTab).Name & "'!a1"

    'Übernahme der Registerblattfarbe als Schriftfarbe


    tbl.Cells(intZeile, 1).Font.Color = Worksheets(intTab).Tab.Color


    'Setzen eines Hyperlinks auf Tabellenblatt

    tbl.Cells(intZeile, 2).Value = Worksheets(intTab).Name

    tbl.Cells(intZeile, 2).Hyperlinks.Add _
    Anchor:=tbl.Cells(intZeile, 2), Address:="", SubAddress:= _
    "'" & Worksheets(intTab).Name & "'!A1", _
    ScreenTip:="Klicken Sie um zur Tabelle zu gelangen", _
    TextToDisplay:=Worksheets(intTab).Name


    intZeile = intZeile + 1
    Next intTab


    Worksheets(1).Cells.EntireColumn.AutoFit

    End Sub


Durch dieses Makro wird die vorhandene Tabelle um ein weiteres Blatt erweitert und in diesen werden alle vorhandenen Blätter mit einen entsprechenden Link aufgelistet.

Zur Erstellung von Makros ist bei Excel 2007 erst einmal die Registerkarte "Entwickleroptionen" unter den Punkt "Die am häufigsten verwendeten Optionen bei der Arbeit mit Excel" unter der Kategorie "Häufig verwende" zu aktivieren.

Nun findet sich der Makroeditor in der Symbolleiste "Entwicklertools" und kann hier direkt über Makros aufgerufen werden. In Excel 2010 ist dieser in der Symbolleiste Ansicht zu finden.

Hier kann nun im Feld Makroname ein Name bspw. Inhaltsverzeichnis eingetragen werden und durch den Klick auf "Erstellen" ein Makro angelegt werden.

Dabei wird durch sub Name und endsub() das entsprechende Makro angelegt. Hier kann das oben angegebene Makro eingefügt werden.

Makrocode einfügen

Nun kann das VisualBasic Fenster geschlossen werden und zur eigentlichen Tabelle zurückgekehrt werden.

Das Makro ist nun direkt gespeichert und kann über den Makroeditor wiederum durch "Ausführen" gestartet werden.

Makro ausführen

Hierbei hat das Makro unabhängig vom gewählten Makronamen die im Code mit sub Name() angegebene Bezeichnung. Im Beispiel also Inhaltsverzeichnis.

Im Ergebnis sieht das erste Tabellenblatt nun wie folgt aus:
Inhaltsverzeichnis

Durch einen Klick auf einen entsprechenden Link kann auch direkt auf das Exceltabellenblatt gewechselt werden.

Der Vorteil dieses Makro ist, dass es unabhängig von bereits vorhandenen Tabellenblättern angelegt werden kann und in der Reihenfolge der Tabellenblätter eine Übersicht über die einzelnen Tabellenblätter erstellt.

Es ist sinnvoll dieses Makro in Verbindung mit den im Artikel Office Integration - Excelansicht in SAP und Daten kopieren nach Excel vorgestellten Makros zur Übernahme von Daten aus Buchhaltungssystemen in eine persönliche Makroarbeitsmappe (siehe Artikel Excel Umgang mit Makros und Visual Basic for Applications (VBA) zu übernehmen.

Zusammenfassung (Zwei Makros mit A1 oder A2 als Überschrift)

    Sub Inhalt_mit_Überschrift_aus_a1()
    '
    ' Inhalt_mit_Überschrift_aus_a1 Makro
    ' Erstellt ein Inhaltsverzeichnis aller Tabellenblaetter und verwendet als Überschrift die Zelle A1 eines jeden Tabellenblattes
    '

    '
    Dim intTab As Integer
    Dim tbl As Worksheet
    Dim intZeile As Integer
    Set tbl = Worksheets.Add(before:=Worksheets(1))
    intZeile = 2
    ActiveSheet.Name = Worksheets(1).Name
    Cells(1, 1).Value = "Überschrift"
    Cells(1, 2).Value = "Link"
    Cells(1, 1).Font.Bold = True
    Cells(1, 2).Font.Bold = True
    For intTab = 2 To ActiveWorkbook.Worksheets.Count
    tbl.Cells(intZeile, 1).Value = "='" & Worksheets(intTab).Name & "'!a1"
    tbl.Cells(intZeile, 1).Font.Color = Worksheets(intTab).Tab.Color
    tbl.Cells(intZeile, 2).Value = Worksheets(intTab).Name
    tbl.Cells(intZeile, 2).Hyperlinks.Add _
    Anchor:=tbl.Cells(intZeile, 2), Address:="", SubAddress:= _
    "'" & Worksheets(intTab).Name & "'!A1", _
    ScreenTip:="Klicken Sie um zur Tabelle zu gelangen", _
    TextToDisplay:=Worksheets(intTab).Name
    intZeile = intZeile + 1
    Next intTab
    Worksheets(1).Cells.EntireColumn.AutoFit
    End Sub



    Sub Inhalt_mit_Überschrift_aus_a2()
    '
    ' Inhalt_mit_Überschrift_aus_a2 Makro
    ' Erstellt ein Inhaltsverzeichnis aller Tabellenblaetter und verwendet als Überschrift die Zelle A2 eines jeden Tabellenblattes
    '

    '
    Dim intTab As Integer
    Dim tbl As Worksheet
    Dim intZeile As Integer
    Set tbl = Worksheets.Add(before:=Worksheets(1))
    intZeile = 2
    ActiveSheet.Name = Worksheets(1).Name
    Cells(1, 1).Value = "Überschrift"
    Cells(1, 2).Value = "Link"
    Cells(1, 1).Font.Bold = True
    Cells(1, 2).Font.Bold = True
    For intTab = 2 To ActiveWorkbook.Worksheets.Count
    tbl.Cells(intZeile, 1).Value = "='" & Worksheets(intTab).Name & "'!a2"
    tbl.Cells(intZeile, 1).Font.Color = Worksheets(intTab).Tab.Color
    tbl.Cells(intZeile, 2).Value = Worksheets(intTab).Name
    tbl.Cells(intZeile, 2).Hyperlinks.Add _
    Anchor:=tbl.Cells(intZeile, 2), Address:="", SubAddress:= _
    "'" & Worksheets(intTab).Name & "'!A2", _
    ScreenTip:="Klicken Sie um zur Tabelle zu gelangen", _
    TextToDisplay:=Worksheets(intTab).Name
    intZeile = intZeile + 1
    Next intTab
    Worksheets(1).Cells.EntireColumn.AutoFit
    End Sub



Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionenzu finden. Mein Weiterbildungsangebot zu SAP Themen finden Sie auf unkelbach.expert.
Werbung
Aktuelles von Andreas Unkelbach

unkelbach.link/et.reportpainter/

unkelbach.link/et.migrationscockpit/

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


<< Frühere Einträge Spätere Einträge >>



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






Logo Andreas-Unkelbach.de
Andreas Unkelbach Blog
ISSN 2701-6242

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

UStID-Nr: DE348450326 - Kleinunternehmer im Sinne von § 19 Abs. 1 UStG

Andreas Unkelbach

Stichwortverzeichnis
(Tagcloud)


Aktuelle Infos (Abo)

Linkedin Bluesky

Facebook Mastodon

Amazon Autorenwelt Librarything

Buchempfehlung
Berichtswesen im SAP®-Controlling

19,95 € Amazon* Autorenwelt

Espresso Tutorials

unkelbach.link/et.reportpainter/

unkelbach.link/et.migrationscockpit/

Privates

Kaffeekasse 📖 Wunschliste