Offene Requests in der SAP integrierten Planung (BW IP) schließen


Man kann Requests von Real-Time Cubes durch die Änderung des Ladeverhaltens schließen, in dem man den Cube auf nicht beplanbar und wieder zurück schaltet. Im Produktivsystem ist dieses Vorgehen oft unmöglich, weil hierdurch die Benutzer bei Ihrer Planung unterbrochen werden.
In diesem Fall schafft der Funktionsbaustein RSAPO_CLOSE_TRANS_REQUEST Abhilfe. Mit diesem Funktionsbaustein können Sie Requests schließen, ohne den Plancube dabei umzuschalten. Die Daten im Planungspuffer bleiben bestehen und werden beim nächsten Speichern in einen neuen Request geschrieben. Weiterlesen

Denis Reis ist Business Intelligence Consultant bei Dahlbeer und gibt als Buchautor sein Wissen rund um den SAP Projektalltag weiter. Des Weiteren unterrichtet er Projektmanagement und Controlling an der Wiesbaden Business School. Der aus Düsseldorf stammende Familienmensch zählt zu denjenigen, die auf komplizierte Darstellungen verzichten und das Ganze auf den Punkt bringen.

Excel VBA – Spalte summieren

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.

In diesem Beitrag zeige ich wie Sie mithilfe eines VBA Makros die Summe über eine ganze Spalte bilden können. In unserem Beispiel wollen wir die Summe der Umsätze aus der Spalte B in die Zelle E1 schreiben.
Spalte summieren
Dazu müssen Sie keineswegs eine Schleife bilden mit der Sie alle Zeilen abarbeiten und addieren. Es genügt eine einzige Zeile Code.
Gehen Sie mit F11 in die Entwicklungsumgebung und fügen Sie ein neues Modul ein.
Erstellen Sie das folgende Makro:

Sub SpalteSummieren()

Tabelle1.Range("E1").Value = WorksheetFunction.Sum(Tabelle1.Columns(2))

End Sub

Zuerst legen wir die Zelle fest, in die das Ergebnis geschrieben werden soll. Mit dem Befehl WorksheetFunction bekommen Sie Zugriff auf alle Tabellenfunktionen, wie zum Beispiel .Sum für die Summe. Dieser Funktion übergeben wir nun die Spalte B der ersten Tabelle.
Führen Sie das Makro mit F5 aus und überprüfen Sie das Ergebnis.
Ergebnis
Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.

Beeindrucke deinen Chef mit coolen Excel Tricks!

  • Lasse dich von deinen Kollegen nicht abhängen!
  • Spare Zeit und nutze diese für angenehmere Dinge
  • Steigere deine Produktivität und Effizienz
  • Es ist leicht - Schritt für Schritt Anleitungen die jeder versteht
Fordere kostenlos 20 Excel Tricks an

Fordere das kostenlose eBook an

* Pflichtfeld
 
Kein SPAM. 100% sicher

Quellen und weiterführende Literatur:
Bernd Held – VBA mit Excel: Das umfassende Handbuch
Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

Dieser Beitrag ist ein Teil eines Kurses, der Ihnen einen Schnelleinstieg in VBA ermöglichen soll und ist nach der folgenden Struktur aufgebaut:


Grundlagen:
Einführung in die objektorientierte Programmierung
Objekte, Methoden, Eigenschaften, Ereignisse und der Objektkatalog
Entwicklertools einblenden
Erstes Makro anlegen

Erste Makros:
Das aktuelle Datum in eine Zelle eintragen
Mehrzeiliges Meldungsfenster
Eine Tabelle nach einer Rückfrage löschen
Eine Eingabemaske erstellen

Zellen:
Bereich auslesen
Definierten Bereich füllen und leeren
Zellen im Bereich summieren
Bedingte Summation – Alle Werte größer als 100 summieren
Letzte verwendete Zeile bestimmen
Letzte verwendete Spalte bestimmen
Kommentare hinzufügen

Bedingungen:
Prüfen ob der Inhalt einer Zelle numerisch ist
Prüfen ob die Zelle leer ist
Zelle auf ein gültiges Datum prüfen
Sprachabhängige Meldungen ausgeben (SELECT CASE)

Schleifen:
Alle verwendete Zeilen bearbeiten
Wochenenden hervorheben
Tabellen über eine Schleife ausblenden
Leere Spalten verstecken
Alle Zellen in dem markierten Bereich bearbeiten (Großschreibung / Kleinschreibung)
Mehrere Bereiche vereinen und alle Zellen formatieren
Alle Tabellen schützen

Zeilen:
Jede zweite Zeile einfärben
Zeilenhöhe festlegen
Gesamte Zeile summieren
Leere Zeilen löschen
Zeilen ausblenden
Mehrmals vorkommende Einträge filtern (Unikatsliste erstellen)
Bestimmte Zeilen in eine andere Tabelle kopieren
Leere Zeilen einfügen
Eigene Suchfunktion bauen – bestimmte Zeile finden mit Kundennr. und Namen. Eigenschaft .Row der Variable Treffer

Spalten:
Daten filtern
Spaltenbereite anpassen
Spalte summieren
Spalten ausblenden
Leere Spalten löschen
Spalten formatieren
Spalten in eine andere Tabelle kopieren
Neue Spalten einfügen
Bestimmte Spalte finden

Tabellen:
Tabellennamen auslesen
Neue Tabellen einfügen und benennen
Tabellen löschen
Formeln entfernen
Druckbereich bestimmen
Farbe der Tabellenreiter ändern
Tabelle kopieren
Prüfung Tabellen- oder Diagrammblatt
Eigene Kopf-und Fußzeilen erstellen

Arbeitsmappen:
Arbeitsmappe erzeugen
Arbeitsmappe speichern
Verknüpfungen entfernen
Dokumenteigenschaften auslesen und verändern
Persönliche Informationen aus Dateieigenschaften löschen
Daten und Informationen über Dokumentprüfung entfernen
Arbeitsmappe löschen

Applikation:
Neuberechnung ausschalten
Excel Funktionen ein- und ausschalten
Ansichtsoptionen über Makro steuern
Excel-Version auslesen
Umgebungsvariablen auslesen

Mappen-Ereignisse:
Scrollarea festlegen
Das Schließen der Mappe verhindern
Druckvorgang abfangen
Auswahl bestimmter Tabellen unterbinden
Neue Tabellen sofort löschen
Tastenkombination definieren

Tabellen-Ereignisse:
Bereichsauswahl verhindern
Geänderte Zellen markieren
Eingaben konvertieren (z.B. Großbuchstaben)
Änderungen in einem Change Log dokumentieren
Eingaben sofort rückgängig machen
Tabellenverschiebung verhindern
Eine Zeile per Doppelklick einfärben
Rechten Mausklick deaktivieren

Standardfunktionen:
Nach einer Zeichenkette suchen – InStr
Länge mit Left und Len messen und korrigieren
Pfad und Dateinamen mit Funktionen InStrRev, Left und Mid trennen
Zeichen ersetzen mit Replace
Leerzeichen mit Trim entfernen
Zeichenkette aufteilen und zusammenfügen mit Split und Join
Mit DatePart Quartal und Kalenderwoche aus einem Datum ableiten
Differenz von zwei Datumswerten mit DateDiff berechnen
Text mit CDate in Datum umwandeln

Benutzerdefinierte Funktionen
Nur sichtbare Zellen summieren
Fett formatierte Werte zählen
Letzten Wert in der Zeile ausgeben
Eine eigene AutoText Funktion erstellen
Formeltext in Zelle ausgeben
Sonderzeichen entfernen
Prüfen, ob ein Bereich leer ist
Auf Ablaufdatum prüfen

Modul-Funktionen
Tabellenexistenz prüfen
Existenz der Arbeitsmappe prüfen
Prüfen ob eine Mappe geöffnet ist
Letzten Monatstag ermitteln
Alle Leerzeichen entfernen
Alphanumerische Zeichen löschen
Tabellenschutz prüfen
Spalten auf Inhalte prüfen
Quersumme berechnen

Denis Reis ist Business Intelligence Consultant bei Dahlbeer und gibt als Buchautor sein Wissen rund um den SAP Projektalltag weiter. Des Weiteren unterrichtet er Projektmanagement und Controlling an der Wiesbaden Business School. Der aus Düsseldorf stammende Familienmensch zählt zu denjenigen, die auf komplizierte Darstellungen verzichten und das Ganze auf den Punkt bringen.

Excel VBA – Spaltenbreite anpassen

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.

Hallo, in diesem Beitrag zeige ich Ihnen wie Sie über VBA die Breite der Spalten ändern können. Standardmäßig ist die Breite auf 10,71 Punkte festgelegt.
Excel VBA Spaltenbreite anpassen
Um die Spaltenbreite im gesamten Dokument einheitlich zu gestalten könnten Sie das folgende Makro benutzen. Darin gehen wir über alle Spalten im benutzen Bereich und ändern deren Breite über die Eigenschaft ColumnWidth.

Sub SpaltenbreiteFestlegen()
Dim Spalte As Range

For Each Spalte In Tabelle1.UsedRange.Columns

Spalte.ColumnWidth = 15

Next Spalte
End Sub

Einheitliche Spaltenbreite

Um die Spaltenbreite automatisch anzupassen reicht eine einzige Zeile.

Sub SpaltenbreiteAutomatischFestlegen()

Columns("A:E").EntireColumn.AutoFit

End Sub

Spaltenbreite automatisch anpassen VBA

Sie könnten natürlich auch hier die For Each Next Schleife benutzen.

Sub SpaltenbreiteAutomatischFestlegen()
Dim Spalte As Range

For Each Spalte In Tabelle1.UsedRange.Columns

Spalte.AutoFit

Next Spalte
End Sub

Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.

Beeindrucke deinen Chef mit coolen Excel Tricks!

  • Lasse dich von deinen Kollegen nicht abhängen!
  • Spare Zeit und nutze diese für angenehmere Dinge
  • Steigere deine Produktivität und Effizienz
  • Es ist leicht - Schritt für Schritt Anleitungen die jeder versteht
Fordere kostenlos 20 Excel Tricks an

Fordere das kostenlose eBook an

* Pflichtfeld
 
Kein SPAM. 100% sicher

Quellen und weiterführende Literatur:
Bernd Held – VBA mit Excel: Das umfassende Handbuch
Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

Dieser Beitrag ist ein Teil eines Kurses, der Ihnen einen Schnelleinstieg in VBA ermöglichen soll und ist nach der folgenden Struktur aufgebaut:


Grundlagen:
Einführung in die objektorientierte Programmierung
Objekte, Methoden, Eigenschaften, Ereignisse und der Objektkatalog
Entwicklertools einblenden
Erstes Makro anlegen

Erste Makros:
Das aktuelle Datum in eine Zelle eintragen
Mehrzeiliges Meldungsfenster
Eine Tabelle nach einer Rückfrage löschen
Eine Eingabemaske erstellen

Zellen:
Bereich auslesen
Definierten Bereich füllen und leeren
Zellen im Bereich summieren
Bedingte Summation – Alle Werte größer als 100 summieren
Letzte verwendete Zeile bestimmen
Letzte verwendete Spalte bestimmen
Kommentare hinzufügen

Bedingungen:
Prüfen ob der Inhalt einer Zelle numerisch ist
Prüfen ob die Zelle leer ist
Zelle auf ein gültiges Datum prüfen
Sprachabhängige Meldungen ausgeben (SELECT CASE)

Schleifen:
Alle verwendete Zeilen bearbeiten
Wochenenden hervorheben
Tabellen über eine Schleife ausblenden
Leere Spalten verstecken
Alle Zellen in dem markierten Bereich bearbeiten (Großschreibung / Kleinschreibung)
Mehrere Bereiche vereinen und alle Zellen formatieren
Alle Tabellen schützen

Zeilen:
Jede zweite Zeile einfärben
Zeilenhöhe festlegen
Gesamte Zeile summieren
Leere Zeilen löschen
Zeilen ausblenden
Mehrmals vorkommende Einträge filtern (Unikatsliste erstellen)
Bestimmte Zeilen in eine andere Tabelle kopieren
Leere Zeilen einfügen
Eigene Suchfunktion bauen – bestimmte Zeile finden mit Kundennr. und Namen. Eigenschaft .Row der Variable Treffer

Spalten:
Daten filtern
Spaltenbereite anpassen
Spalte summieren
Spalten ausblenden
Leere Spalten löschen
Spalten formatieren
Spalten in eine andere Tabelle kopieren
Neue Spalten einfügen
Bestimmte Spalte finden

Tabellen:
Tabellennamen auslesen
Neue Tabellen einfügen und benennen
Tabellen löschen
Formeln entfernen
Druckbereich bestimmen
Farbe der Tabellenreiter ändern
Tabelle kopieren
Prüfung Tabellen- oder Diagrammblatt
Eigene Kopf-und Fußzeilen erstellen

Arbeitsmappen:
Arbeitsmappe erzeugen
Arbeitsmappe speichern
Verknüpfungen entfernen
Dokumenteigenschaften auslesen und verändern
Persönliche Informationen aus Dateieigenschaften löschen
Daten und Informationen über Dokumentprüfung entfernen
Arbeitsmappe löschen

Applikation:
Neuberechnung ausschalten
Excel Funktionen ein- und ausschalten
Ansichtsoptionen über Makro steuern
Excel-Version auslesen
Umgebungsvariablen auslesen

Mappen-Ereignisse:
Scrollarea festlegen
Das Schließen der Mappe verhindern
Druckvorgang abfangen
Auswahl bestimmter Tabellen unterbinden
Neue Tabellen sofort löschen
Tastenkombination definieren

Tabellen-Ereignisse:
Bereichsauswahl verhindern
Geänderte Zellen markieren
Eingaben konvertieren (z.B. Großbuchstaben)
Änderungen in einem Change Log dokumentieren
Eingaben sofort rückgängig machen
Tabellenverschiebung verhindern
Eine Zeile per Doppelklick einfärben
Rechten Mausklick deaktivieren

Standardfunktionen:
Nach einer Zeichenkette suchen – InStr
Länge mit Left und Len messen und korrigieren
Pfad und Dateinamen mit Funktionen InStrRev, Left und Mid trennen
Zeichen ersetzen mit Replace
Leerzeichen mit Trim entfernen
Zeichenkette aufteilen und zusammenfügen mit Split und Join
Mit DatePart Quartal und Kalenderwoche aus einem Datum ableiten
Differenz von zwei Datumswerten mit DateDiff berechnen
Text mit CDate in Datum umwandeln

Benutzerdefinierte Funktionen
Nur sichtbare Zellen summieren
Fett formatierte Werte zählen
Letzten Wert in der Zeile ausgeben
Eine eigene AutoText Funktion erstellen
Formeltext in Zelle ausgeben
Sonderzeichen entfernen
Prüfen, ob ein Bereich leer ist
Auf Ablaufdatum prüfen

Modul-Funktionen
Tabellenexistenz prüfen
Existenz der Arbeitsmappe prüfen
Prüfen ob eine Mappe geöffnet ist
Letzten Monatstag ermitteln
Alle Leerzeichen entfernen
Alphanumerische Zeichen löschen
Tabellenschutz prüfen
Spalten auf Inhalte prüfen
Quersumme berechnen

Denis Reis ist Business Intelligence Consultant bei Dahlbeer und gibt als Buchautor sein Wissen rund um den SAP Projektalltag weiter. Des Weiteren unterrichtet er Projektmanagement und Controlling an der Wiesbaden Business School. Der aus Düsseldorf stammende Familienmensch zählt zu denjenigen, die auf komplizierte Darstellungen verzichten und das Ganze auf den Punkt bringen.

Excel VBA – Daten filtern

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.

In diesem How To zeige ich wie Sie mit einem VBA Makro Daten filtern können. Dazu habe ich folgende Tabelle als Beispiel vorbereitet. In der Spalte A sehen Sie die Kundennummern und in Spalte B den Umsatz des jeweiligen Kunden.

VBA Daten filtern

In unserem Fall wollen wir nur Umsätze anzeigen, die höher als 50000 sind. Dafür legen wir ein neues Makro an. Gehen Sie über die Tastenkombination ALT+F11 in die Entwicklungsumgebung und legen Sie ein neues Modul an. Zunächst definieren wir eine Variable für einen Bereich von Typ Range. Danach bestimmen wir in welcher Tabelle dieser Bereich liegt. Unser Bereich liegt im genutzten Bereich der Tabelle1.

Sub DatenFiltern()
Dim Bereich As Range

Set Bereich = Tabelle1.UsedRange

End Sub

Um die Umsätze zu filtern benutzen wir die Methode AutoFilter. Da die Umsätze in der zweiten Spalte liegen geben wir im Argument Field eine zwei an.

Sub DatenFiltern()
Dim Bereich As Range

Set Bereich = Tabelle1.UsedRange

Bereich.AutoFilter Field:=2, Criteria1:=">50000"

End Sub

Führen Sie das Makro nun aus.
Daten über VBA filtern

Wenn Sie nun eine Variable für Filterwerte benutzen wollen ändern Sie den VBA Code wie folgt.

Sub DatenFiltern()
Dim Bereich As Range
Dim Variable As Long

Set Bereich = Tabelle1.UsedRange
Variable = Tabelle1.Range("E1").Value

Bereich.AutoFilter Field:=2, Criteria1:=">" & Variable

End Sub

VBA AutoFilter Variable
Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.

Beeindrucke deinen Chef mit coolen Excel Tricks!

  • Lasse dich von deinen Kollegen nicht abhängen!
  • Spare Zeit und nutze diese für angenehmere Dinge
  • Steigere deine Produktivität und Effizienz
  • Es ist leicht - Schritt für Schritt Anleitungen die jeder versteht
Fordere kostenlos 20 Excel Tricks an

Fordere das kostenlose eBook an

* Pflichtfeld
 
Kein SPAM. 100% sicher

Quellen und weiterführende Literatur:
Bernd Held – VBA mit Excel: Das umfassende Handbuch
Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

Denis Reis ist Business Intelligence Consultant bei Dahlbeer und gibt als Buchautor sein Wissen rund um den SAP Projektalltag weiter. Des Weiteren unterrichtet er Projektmanagement und Controlling an der Wiesbaden Business School. Der aus Düsseldorf stammende Familienmensch zählt zu denjenigen, die auf komplizierte Darstellungen verzichten und das Ganze auf den Punkt bringen.

Excel VBA – Eigene Suchfunktion bauen – bestimmte Zeile finden

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.

In diesem Beitrag zeige ich Ihnen wie Sie über VBA bestimmte Zeilen eindeutig identifizieren können. Diese Funktionalität erlaubt es Ihnen eine Suchfunktion in Excel zu bauen.
Ich habe bereits eine Tabelle mit Kundennummern und Namen. Mithilfe von VBA wollen wir nun einen Namen zu der gesuchten Kundennummer (Zelle E1) finden. Das Ergebnis soll in der Zelle F1 erscheinen.
Bestimmte Zeilen über VBA finden
Für das Ergebnis benötigen wir eine Variable vom Typ Range.

Sub ZeileFinden()
Dim Ergebnis As Range

End Sub

Diese Variable wird über den folgenden Befehl gefüllt.

Set Ergebnis = Tabelle1.Columns(1).Find(what:=Tabelle1.Range("E1").Value, _
                lookat:=xlWhole)

Zunächst geben wir an in welcher Tabelle wir suchen wollen. Danach sagen wir in welchem Bereich die Suche stattfinden soll. Unsere Kundennummern stehen in der Spalte A, also in der ersten Spalte. Über den Befehl Find können Sie nach einem bestimmten Wert suchen. Der gesuchte Wert steht in Tabelle1, Zelle E1. Damit die Suche nur diese Nummer und keine ähnlichen Nummern findet, verwenden wir das Argument lookat:=xlWhole.
Falls der entsprechende Wert in der Spalte A gefunden wurde, so ist die Variable gefüllt. Diese Variable verfügt über bestimmte Koordinaten. Über Attribute .Row und .Column können wir die Zeile und die Spalte der Variable eindeutig bestimmen. Sie können es mit der Anweisung Debug.Print Ergebnis.Row testen. Die siebte Zeile wird im Direktbereich ausgegeben.
Nun können wir das Ergebnis auswerten. Wir wissen, dass der gesuchte Name in der zweiten Spalte der jeweiligen Zeile liegt.

If Ergebnis Is Nothing Then
MsgBox "Leider nichts gefunden"
Else
Tabelle1.Range("F1").Value = Tabelle1.Cells(Ergebnis.Row, 2).Value
End If

Wenn die Variable nicht gefüllt werden könnte, wenn also nichts gefunden wurde, geben wir die entsprechende Meldung aus. Andernfalls wird der Name in die Zelle F1 geschrieben.
Um das Makro zu testen habe ich über Entwicklertools -> Einfügen einen Button hinzugefügt und diesem unser Makro zugewiesen.
Wie Sie sehen können funktioniert das Makro perfekt.
Ergebnis VBA Suche

Das komplette Makro:

Sub ZeileFinden()
Dim Ergebnis As Range

Set Ergebnis = Tabelle1.Columns(1).Find(what:=Tabelle1.Range("E1").Value, _
                lookat:=xlWhole)

If Ergebnis Is Nothing Then
MsgBox "Leider nichts gefunden"
Else
Tabelle1.Range("F1").Value = Tabelle1.Cells(Ergebnis.Row, 2).Value
End If

End Sub

Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.

Beeindrucke deinen Chef mit coolen Excel Tricks!

  • Lasse dich von deinen Kollegen nicht abhängen!
  • Spare Zeit und nutze diese für angenehmere Dinge
  • Steigere deine Produktivität und Effizienz
  • Es ist leicht - Schritt für Schritt Anleitungen die jeder versteht
Fordere kostenlos 20 Excel Tricks an

Fordere das kostenlose eBook an

* Pflichtfeld
 
Kein SPAM. 100% sicher

Quellen und weiterführende Literatur:
Bernd Held – VBA mit Excel: Das umfassende Handbuch
Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

Denis Reis ist Business Intelligence Consultant bei Dahlbeer und gibt als Buchautor sein Wissen rund um den SAP Projektalltag weiter. Des Weiteren unterrichtet er Projektmanagement und Controlling an der Wiesbaden Business School. Der aus Düsseldorf stammende Familienmensch zählt zu denjenigen, die auf komplizierte Darstellungen verzichten und das Ganze auf den Punkt bringen.