Spezielle Excel-Tabellenblatt-Befehle

Buchauszug „Von Excel das Beste“

In einem Praxisfall ging es um die Erstellung von Ausgangsrechnungen mit Excel. Dazu gibt es zahlreiche vorgefertigte Lösungen, teilweise kostenlos. Der Auftraggeber wollte jedoch seine spezielle Formulargestaltung beibehalten. Diese war bereits in MS-Word aufgestellt. Wie üblich, hatte er damit begonnen, eine Blanko-Rechnung zu speichern, bestückt mit diversen Wiederholungselementen wie Firmenname, Logo, Datumsfeld, Fußzeile mit Konto, USt-ID, etc. In dieses Blanko-Formular wurden die gelieferten Leistungen eingesetzt und die Datei mit der Rechnungsnummer im Dateinamen in einen Jahresordner gespeichert. Solche oder ähnliche Anfangslösungen sind in kleineren Unternehmen öfters vorzufinden. Das Problem ist der Eingabeaufwand, den es im ersten Schritt zu reduzieren galt.

Weil es um viele Zahlen geht, war dazu die Einrichtung einer Excel-Anwendung angesagt. Später wird eine Historienroutine hinzukommen, welche ebenfalls mit Excel maßgeschneidert auf die Situation des Unternehmens zugeschnitten sein wird. Beispielsweise mit wahlweisem Aufruf nach Kundennummer, Rechnungsdatum, Rechnungsnummer oder Zeitraum. Eine beliebige Kombination aus diesen Kriterien, die es in alternativen Lösungen wahrscheinlich nicht gibt, wäre ebenfalls möglich. Außerdem eine umfassende Statistik bis hin zur Offen-Posten-Überwachung, Umsatzsteuerdaten, Buchungsvorlagen bzw. -übergabe, etc. 

Bei der Lösung im ersten Schritt mit dem Titel Rechnungserstellung ging es wie erwähnt um die Reduzierung des Eingabeaufwandes. Dieser steckt in folgenden Arbeitsschritten: Berechnung einzelner Nettobeträge aus einzugebenden Mengen und Preisen; Berechnung der Rechnungsbeträge, bestehend aus Nettosumme, Mehrwertsteuer und Bruttorechnungssumme. Bei der Mehrwertsteuer derzeit drei Varianten: 7%, 19% und ohne MwSt. = Ausland, hier mit reduzierter Darstellung und einem Texthinweis unter der Summe. Die erstellten Rechnungen sind als PDF sowie als Excel-Datei zu speichern. Nachträgliche Änderungen sollen möglich sein. Dazu sollen in der Rechnung-Erstellungsdatei die jeweils 10 letzten Rechnungen deponiert werden. 
Zur Realisierung dieser Vorgaben sind spezielle Blatt-Routinen erforderlich, die in der gängigen Excel-Literatur und in Internet-Foren in dieser Konzentration auf das Wesentliche nicht zu finden sind. Die nachfolgend aufgeführten Befehlsfolgen sind jeweils in ein mit Sub beginnendes und mit End Sub endendes Makro eingebunden.

(1)    Alle Blätter einblenden

For i = 1 To Sheets.Count
Sheets(i).Visible = True
Next I

Blendet alle Blätter der aktiven Arbeitsmappe ein, unabhängig davon, ob welche ausgeblendet sind. Diese Befehlsfolge kann in einem Auto-Open-Makro nützlich sein, wenn jemand ein Blatt ausblendet und das Wieder-Einblenden vergisst. Weiterhin ist die Befehlsfolge erforderlich für den Fall, dass ein ausgeblendetes Blatt angewählt oder gelöscht werden soll.

(2)    Blatt über eine Zellinformation benennen

ActiveSheet.Copy After:=Sheets(“Neu”)
ActiveSheet.Name = Range (“AA1”).Value

Kopiert das aktive Blatt hinter das Blatt Neu und benennt es zum Zellinhalt AA1. Diese Befehlsfolge dient der Blattbenennung, die sich aus der Arbeit heraus ergibt. Beispiele sind beliebige Texte, Rechnungsnummern oder ein Datum als Blattname.

(3)    Vorhandene Blattnamen der aktiven Datei auflisten:

For i = 1 To Sheets.Count
ActiveSheet.Cells(i, 28).Value = Sheets(i).Name
Next I        

Erstellt im aktiven Blatt in Spalte 28 = AB ab Zeile 1 nach unten eine Liste der in der aktiven Datei enthaltenen Blattnamen. Diese Auflistung ist erforderlich zur Prüfung, ob ein neu zu erstellendes Blatt bereits vorhanden ist, damit in diesem Fall eine Abfrage eingebaut werden kann, ob das vorhandene Blatt überschrieben werden soll.

(4)    Blatt zu dem in einer Zelle stehenden Namen löschen:

For i = 1 To Worksheets.Count
On Error Resume Next
  If Sheets(i).Name = Cells(2, 29) Then
    Application.DisplayAlerts = False
    Sheets(i).Delete
    Application.DisplayAlerts = True
  End If
Next i

Löscht das Blatt, dessen Name in Spalte 29 = AC in Zeile 1 steht und in AC2 per Formel aufbereitet wird, ohne Rückfrage. Wenn Sie die Blattlöschung sicherheitshalber extra bestätigen wollen, nehmen Sie die beiden Alert-Befehle heraus.

Zu AC2 gilt Folgendes:
Steht in AC1 eine Zahl oder ein Text, dann:  

AC2:   =TEXT(+AC1;0)

Excel interpretiert einen Blattnamen als Text und kann deshalb einen aus einer Zahl gebildeten Blattnamen einer Zahl in einer Zelle nicht zuordnen. Es muss ein Text sein.

Steht in AC1 ein Datum, dann:

AC2:   =TEXT(AC1;"TT.MM.JJJJ")

Excel kann einen Datums-Blattnamen, z. B. 01.01.2011 nicht einem Datum zu-ordnen, welches optisch identisch in einer Zelle steht. Es muss ebenfalls erst ein Text sein.


letzte Änderung R. am 16.09.2020
Autor(en):  Ernst Fischer

RSS
Literaturhinweise
Excel-Tools

Weitere Fachbeiträge zum Thema

Premium-Stellenanzeigen


missio – Internationales Katholisches Missionswerk Ludwig Missionsverein KdöR
München
Meteor GmbH
Bockenem
VAMED Klinik Bad Berleburg GmbH
Bad Berleburg
HUK-COBURG Versicherungsgruppe
Coburg
Schüco International KG
Bielefeld

Eigenen Fachbeitrag veröffentlichen? 

Sie sind Autor einer Fachpublikation oder Entwickler einer Excel-Vorlage? Gern können Sie sich an der Gestaltung der Inhalte unserer Fachportale beteiligen! Wir bieten die Möglichkeit Ihre Fachpublikation (Fachbeitrag, eBook, Diplomarbeit, Checkliste, Studie, Berichtsvorlage ...) bzw. Excel-Vorlage auf unseren Fachportalen zu veröffentlichen bzw. ggf. auch zu vermarkten. Mehr Infos >>

Kommentar zum Fachbeitrag abgeben

Nur registrierte Benutzer können Kommentare posten!