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.
Anzeige
RS Controlling-System: Das RS- Controlling-System bietet
Planung, Ist- Auswertung und Forecasting in einem Excel-System. Monatliche und mehrjährige Planung. Ganz einfach Ist- Zahlen mit Hilfe von Plan/Ist-Vergleichen, Kennzahlen und Kapitalflussrechnung analysieren.
Alle Funktionen im Überblick >>.
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 17.08.2024
Autor:
Ernst Fischer
|
Bleiben Sie auf dem Laufenden mit unserem Newsletter
Tragen Sie sich für den
kostenfreien und unverbindlichen
Newsletter von Controlling-Portal.de ein und erhalten Sie jeden Monat aktuelle Neuigkeiten für Controller. Wir informieren Sie über neue Fachartikel, über wichtige News, aktuelle Stellenangebote, interessante Tagungen und Seminare. Wir empfehlen Ihnen spannende Bücher und geben Ihnen nützliche Excel-Tipps. Verpassen Sie nie mehr wichtige Diskussionen im Forum und stöbern Sie in Software-Angeboten, die Ihnen den Arbeitsalltag erleichtern.
Beispiel-Newsletter >>
Jetzt Newsletter gratis erhalten
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 >>