Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro für Rechnungserstellung

Forumthread: Makro für Rechnungserstellung

Makro für Rechnungserstellung
18.05.2007 09:25:00
Werner
Hallo zusammen,
zusätzlich zu meiner etwas weiter unten gestellten Frage habe ich noch ein weiteres kleines Problem.
Ich suche ein Makro für meine Rechnungserstellung.
-Ich habe eine Kundenmappe die im Menü einen neuen Button "Rechnung" bekommen soll.
-Klickt man auf diesen Button, soll auf ein Rechnungsformular zugegriffen werden, dass immer automatisch eine neue Rechnungsnummer erstellt.
- Dieses Rechnungsformular soll in die Kundenmappe als neues Tabellenblatt eingefügt werden und den Namen Rechnung_2 (dazugehörige Rechnungsnummer) bekommen.
Es gibt immer mehrere Kundenmappen.
Anbei ein Muster.
https://www.herber.de/bbs/user/42546.xls
https://www.herber.de/bbs/user/42547.xls
https://www.herber.de/bbs/user/42548.xls
Es währ super, wenn einer hierfür ein Makro übrig hat:-)
Danke im Voraus.
Gruß Werner

Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro für Rechnungserstellung
18.05.2007 09:54:09
Oberschlumpf
Hi Werner
Wenn ich dich ricthig verstanden habe, hast du n viele Kundenmappen (oder es werden mit der Zeit viele Mappen) und EIN Rechnungsformular, welches in DIE Kundenmappe eingefügt werden soll, für dessen Kunden du arbeitest.
Hab ich dich richtig verstanden?
Wenn ja...was hältst du von dieser Idee:
Da es sich ja um ein und das selbe Rechnungsformular handelt, warum fügst du dieses Formular als Vorlage nicht als verstecktes Blatt in jede Kundenmappe ein?
Mit einem Klick auf deinen Rechnungsbutton wird eine Kopie der Rechn.vorlage sicthbar, du trägst alle Daten ein, klickst auf den Speicherbutton in der Rechnung (muss noch hinzugefügt werden), und aus der Vorlagenkopie wird das sichtbare Rechnungsblatt mit der neuesten Rechnungsnummer.
Vorteil:
Es spielt sich alles geschlossen in der Kundenmappe ab, die du aufgerufen hast.
Du musst nicht mit externen Dateien arbeiten, weil du ja alles, was du brauchst, in einer Datei hast.
Nachteil:
is mir (noch) nicht bekannt
dein Feedback?
Ciao
Thorsten

Anzeige
AW: Makro für Rechnungserstellung
18.05.2007 14:09:32
Werner
Hi Thorsten,
die Idee finde ich auch super.
Aber bekomme ich tatsächlich für jede Rechnung eine neue Rechnungsnummer?
Da ich ja mehrere Kundenmappen habe.
Wenn das mit den Nr. in deinem Lösungsvorschlag funktioniert, würdest du mich um einiges weiter bringen.
Danke im Voraus.
Gruß Werner

Anzeige
AW: Makro für Rechnungserstellung
18.05.2007 14:43:22
Oberschlumpf
Hi Werner
Das würde schon gehen, aber...
...du müsstest JEDE schon bestehende Kundenmappe eben um dieses versteckte Tabellenblatt "Rechnungsvorlage" erweitern.
...und du müsstest natürlich auch jede Kundenmappe mit dem erforderlichen Code vervollständigen.
Hast du schon viele Kundenmappen?
Das wäre dann schon ein bisschen Vorarbeit, die erforderlich ist.
Oder willst du doch lieber mit einer externen Rechnungsvorlagen-Datei arbeiten?
Da wäre der eben ewähnte Aufwand nicht erforderlich.
Aber so wie meine Idee, wäre es eine saubere Sache, finde ich zumindest.
dein Feedback?
Ciao
Thorsten

Anzeige
AW: Makro für Rechnungserstellung
18.05.2007 19:54:55
Werner
Hi Thorsten,
da ich schon einige Kunden habe, ist mir die Variante mit der externen Datei lieber, auch wenn Sie nicht so sauber ist.
Finde ich super, dass du eine Lösung dafür hast.
Danke im Voraus.
Gruß Werner

AW: Makro für Rechnungserstellung
18.05.2007 20:07:00
Oberschlumpf
Hi Werner
lach..das hast du falsch verstanden.
Ich habe weder für die eine noch für die andere Idee schon eine Lösung - ich muss sie erst noch entwickeln - wenn ich es denn hinbekomme.
Und ich fragte halt erst mal genau, was du haben möchtest, bevor ich in die falsche Richtung loslege.
Ich versuch jetzt mein Glück - is vllt noch heute oder morgen fertig.
Ciao
Thorsten

Anzeige
AW: Makro für Rechnungserstellung
18.05.2007 22:38:00
Werner
Hi Thorsten,
oh, dass ist aber nett:-)
Ich finde das eh wahnsinn, wie super das hier mit diesem Forum funktioniert.
Mann kann ja echt mit allem kommen und irgend einer hat immer eine Lösung. Echt super!
Leider bin ich in sachen Excel nicht so der Held, dass es sich für jemanden in diesem Forum lohnen würde :-)
Dann bedanke ich mich jetzt auf jeden Fall mal schon im Voraus für deinen Einsatz.
Gruß Werner

Anzeige
AW: Makro für Rechnungserstellung
19.05.2007 01:29:41
Oberschlumpf
Hi Werner
So, ich bin fertig:
https://www.herber.de/bbs/user/42566.xls die Kundenmappe
https://www.herber.de/bbs/user/42567.xls das Rechnungsformular
erst mal die Voraussetzungen:
- im Rechnungsformular ist die Zelle K1 reserviert, und darf nicht geändert werden
- der Dateiname vom Rechnungsformular heisst "Rechnungsformular.xls" und darf auch nicht geändert werden
- beide Dateien - Kundenmappe und Rechnungsformular - müssen im selben Verzeichnis gespeichert sein
(oder in deinem Fall: alle Kundenmappen und Rechnungsformular müssen im selben Verzeichnis gespeichert sein)
- die Makros müssen IMMER aktiviert werden
jetzt der Aufbau
Kundenmappe:
anstelle einer eigenen Symbolleiste habe ich in die Kundenmappe einen Button eingebaut, weil...
...ich weiß nicht, wie deine Symbolleiste aufgebaut ist
Du kannst später den Code aus meinem Button (nur 1 Zeile) an deinen Button in der Symbolleiste übergeben und meinen Button löschen.
Aber natürlich musst du den ganzen Code aus dem Klassen- und allgemeinem Modul meiner Kundenmappe in die Module deiner Kundenmappe übertragen.
Rechnungsformular:
Auch hier musst du den ganzen Code in deine Rechnungsformular-Datei übertragen
Oder für beide Dateien gilt:
Übertrage deine Tabellenlayouts und Symbolleiste auf meine Dateien.
Handhabung:
Speicher erst mal beide Dateien in einem eigenen Verzeichnis und benenne sie so um, dass du weißt, welche Datei meine Kundenmappe und welche Datei mein Rechnungsformular ist.
Teste erst mal nur mit meinen Dateien.
Starte die Kundenmappe (mit aktivierten Makros)
Ein Klick auf den Button Rechnung öffnet die zweite Datei Rechnungsformular.xls, und trägt gleich automatisch die neueste Rechnungsnummer ein
Gib nun irgendwelche Daten in irgendwelche Zellen ein - versuch auch mal den Wert in K1 zu ändern
Klick dann auf Speichern oder schließe die Datei
In beiden Fällen wirst du nicht gefragt, ob die Datei gespeichert werden soll. Aber die Rechnung, die du gerad "erstellt" hast, wird automatisches als neues Tabellenblatt in die Kundenmappe eingefügt, in der du zuvor auf den Button Rechnung geklickt hast
das Rechnungsformular wird ungespeichert wieder geschlossen, damit es für die nächste Rechnung wieder leer zur Verfügung steht
Versuch mal, das Rechnungsformular direkt zu öffnen - also nicht über den Button sondern über Datei/Öffnen - die Datei schliesst sich mit einer Meldung automatisch wieder, weil sie nun als "eigenständige" Datei wegen der enthaltenen Makros nicht mehr eingesetzt werden sollte.
Konnte ich helfen?
Ciao
Thorsten

Anzeige
AW: Makro für Rechnungserstellung
19.05.2007 11:47:22
Werner
Hallo Thorsten,
1000 Dank, dass ist escht super. Ich bin begeistert.
Du schreibst in dem Modultext, dass man eventuell auch den Pfad zu der Vorlage angeben kann, so dass die Vorlage nicht immer im Verzeichnis der Kundenmappe liegen muss. Ist das möglich?
(Jetzt verstehe ich auch, warum du das Formular usrsprünglich einbetten wolltest :-)
Da ich ja nicht nur das Rechnungsformular habe sondern noch andere (z.B. Bestellung)
Dachte ich ich könnte mit meinen wenigen Kentnissen einfach deine Texte kopieren und einfach
einem neuen CommandButton zuweisen, leider funktionieren dann beide buttons nicht mehr.
Kannst du mir hierfür eventuell noch einen Tipp geben?
Vielen Dank nochmal.
Gruß Werner

Anzeige
andere dürfen auch...
19.05.2007 13:58:00
Oberschlumpf
Hi Werner
Pfad zu der Vorlage
Im Makro
Rechnung()
kannst du diese Zeile anpassen:

Workbooks.Open .Path & "\Rechnungsformular.xls"


sie bedeutet:
öffne die Datei "Rechnungsformular.xls" im gleichen Ordner, in dem auch die Kundenmappe gespeichert ist
Wenn du die Datei "Rechnungsformular.xls" z Bsp im Verzeichnis "C:\Vorlagen" gespeichert hast, die Kundenmappen aber in einem anderen Verzeichnis, dann muss die Zeile so lauten:


Workbooks.Open "C:\Vorlagen\Rechnungsformular.xls"


In diesem Fall wird die Rechnungsvorlage also aus dem Verzeichnis "C:\Vorlagen" geöffnet.
Ersetze in der Zeile einfach "C:\Vorlagen" durch dein Verzeichnis (vollständiger Pfad!), in dem die Rechnungsvorlage gespeichert ist.
Bestellung
Hier für gilt eigentich, dass du das schon bestehende Makro Rechnung() komplett kopierst, als neues Makro einfügst, und den nun doppelt vorhandenen Makronamen Rechnung() z Bsp in Bestellung() umbenennst.
Natürlich musst du die oben erwähnte Zeile entsprechend anpassen, dass in diesem Makro nun die Bestellvorlage und nicht die Rechnungsvorlage geöffnet wird.
Damit aber nun auch in aufsteigender Reihenfolge die Bestellungen entsprechend mit Bestellung_1, Bestellung_2, etc in deine Kundenmappe eingepflegt werden, muss der Code, der auch in Bestellung.xls vorhanden sein muss, entsprechend angepasst werden.
Aber hier muss ich leider passen.
Dein Ersteintrag lautet:
"Ich suche ein Makro für meine Rechnungserstellung."
Das hab ich für dich erledigt.
Aber nun brauchst du das Gleiche noch mal für Bestellung, und vllt auch noch für Mahnung...usw
Wie schon erwähnt, müsste nun einiges angepasst werden - vllt auch in der Datei "Rechnungsformular.xls".
Denn ich hatte so programmiert, dass eben NUR auf Rechnung eingegangen wird, weil du Bestellung und vllt weiteres NICHT erwähnt hattest.
Vielleicht findet sich ja noch jemand, der mein funktionierendes Code-Gerüst an deine weitere Wünschen anpassen kann.
Viel Erfolg.
Ciao
Thorsten

Anzeige
AW: andere dürfen auch...
19.05.2007 20:19:11
Werner
Hi Thorsten,
Danke, noch einmal für dein Einsatz. Das hat mir schon echt weiter geholfen.
Zumindest hast du mich im Bezug auf VBA neugierig gemacht.
Danke nochmal.
Gruß Werner.

AW: andere dürfen auch...
20.05.2007 11:49:00
Werner
Hallo Thorsten,
ein Problem habe ich noch.
Die Kundenmappe soll ja für jeden Kunden extra abgespeichert werden.
Das heist ich habe nachher ganz viele Kundenmappen.
Das Problem ist nur, dass die Rechnungsnummern in jeder Kundenmappe bei 1 anfangen zu zählen.
Die Nr. sollen aber fortlaufend weiter zählen, so dass ich z.B. bei Kunde 23 auch die Rechnungsnummer auf 23 oder höher steht.
Vielleicht wäre es gut, wenn die Rechnungsnummern aus einer Datenbank geholt werden und immer wennn eine vergeben wurde, sollte diese abgehakt werden.
Ist das noch möglich?
Gruß Werner

Anzeige
AW: andere dürfen auch...
21.05.2007 01:34:11
Oberschlumpf
Hi Werner
Ich hatte deinen Worten bisher entnommen, dass die fortlaufende Rechn-Nummer in einer Kundenmappe davon abhängig sein soll, wieviele Rechnungen sich gerad in der Kundenmappe befinden.
Und genau so hab ich es programmiert - und es funktioniert.
Ich könnte zwar jetzt nachlesen (bin aber zu müde)...aber ich kann mich nicht daran erinnern, dass du erwähnt hattest, dass die Rechn.Nummer abhängig von der Anzahl deiner Kunden gemacht werden soll.
Hmm...und ich glaube auch, dass das gar nicht geht...aus zwei Gründen
a)
angenommen, für Kunde 20 werden 3 Rechnungen geschrieben - bedeutet nach deiner Vorstellung also
Rechnung_20 (1)
Rechnung_21 (2)
Rechnung_22 (3)
Was ist, wenn nun Kunde 21 dazu kommt? Wo sollen bei dem die Rechn-Nummern beginnen? Nach deiner Vorstellung doch bei Rechnung_21. Aber Rechnung_21 ist doch schon als 2. Rechnung für Kunde 20 vergeben. Oder was sehe ich falsch?
b)
woher soll das Programm wissen, welcher Kunde = Kunde 1 und welcher Kunde = Kunde 12 ist?
Oder nennst du deine Kundenmappen = Kunde1.xls,Kunde2.xls,Kunde3.xls, usw?
Wenn dem so ist, dann würde eigentlich nichts gegen die Idee einer extra Tabelle (Datenbank) sprechen, aber....siehe wieder bei a)
Na ja, oder ich hab was falsch verstanden.
dein Feedback?
Ciao
Thorsten

Anzeige
noch offen
18.05.2007 09:54:31
Oberschlumpf
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Makro für die automatische Rechnungserstellung in Excel


Schritt-für-Schritt-Anleitung

  1. Kundenmappe vorbereiten: Stelle sicher, dass du eine Kundenmappe hast, in der Rechnungen eingefügt werden sollen. Diese sollte alle relevanten Daten deiner Kunden enthalten.

  2. Rechnungsformular erstellen: Erstelle ein Rechnungsformular, das als Vorlage dient. Speichere diese Datei als Rechnungsformular.xls im gleichen Verzeichnis wie deine Kundenmappe oder in einem spezifischen Verzeichnis, wenn du den Pfad im Makro anpassen möchtest.

  3. Makro hinzufügen: Füge den folgenden VBA-Code in das Modul deiner Kundenmappe ein, um das Rechnungsformular automatisch zu öffnen und eine neue Rechnungsnummer zu generieren:

    Sub Rechnung()
       Dim wb As Workbook
       Set wb = Workbooks.Open("C:\Vorlagen\Rechnungsformular.xls") ' Passe den Pfad an
       ' Hier wird die Rechnung erstellt
       ' Weitere Codezeilen zur Rechnungsnummer-Generierung
    End Sub
  4. Button einfügen: Füge einen Button in deine Kundenmappe ein, der das Makro ausführt. Weise dem Button das Makro Rechnung() zu.

  5. Rechnung erstellen: Klicke auf den Button, um das Rechnungsformular zu öffnen und die Rechnung automatisch zu erstellen. Die neue Rechnung wird als Tabellenblatt in deiner Kundenmappe gespeichert.


Häufige Fehler und Lösungen

  • Fehler: Makros sind deaktiviert: Stelle sicher, dass die Makros in Excel aktiviert sind. Gehe zu „Datei“ > „Optionen“ > „Trust Center“ und aktiviere die Makros.

  • Fehler: Datei nicht gefunden: Überprüfe den Pfad zur Rechnungsformular-Datei. Stelle sicher, dass die Datei im angegebenen Verzeichnis vorhanden ist.

  • Fehler: Rechnungsnummer wird nicht generiert: Stelle sicher, dass der Code zur Generierung der Rechnungsnummer korrekt implementiert ist und keine Konflikte mit bestehenden Rechnungen aufgetreten sind.


Alternative Methoden

  1. Rechnungsvorlage mit Datenbank: Verwende eine Excel-Datenbank, um Rechnungen mit fortlaufenden Rechnungsnummern zu erstellen. Diese Methode ist besonders nützlich, wenn du viele Rechnungen verwalten musst.

  2. Excel-Vorlagen für Rechnungen: Nutze bestehende Vorlagen aus dem Internet, um deine Rechnungen zu erstellen. Diese Vorlagen können oft leicht angepasst werden und bieten viele Funktionen.

  3. Excel mehrere Rechnungen in einer Zelle: Wenn du mehrere Rechnungen in einer Zelle anzeigen möchtest, kannst du die Funktion „TEXTVERKETTEN“ verwenden, um Rechnungsdaten zusammenzufassen.


Praktische Beispiele

  • Rechnungsvorlage Excel: Eine einfache Rechnungsvorlage könnte so aussehen:

    Datum Rechnungsnummer Kunde Betrag
    01.01.2023 001 Max Mustermann 100,00 €
    01.02.2023 002 Maria Musterfrau 200,00 €
  • Fortlaufende Rechnungsnummern: Wenn du die Rechnungsnummern aus einer Datenbank holst, kannst du sicherstellen, dass jede Rechnung eine eindeutige Nummer hat, unabhängig von der Kundenmappe.


Tipps für Profis

  • Versteckte Blätter: Erwäge, die Rechnungsvorlage als verstecktes Blatt in der Kundenmappe zu speichern, um die Benutzeroberfläche sauber zu halten.

  • Automatisierung mit VBA: Nutze VBA, um die Rechnungsstellung weiter zu automatisieren, beispielsweise durch das Versenden der Rechnung per E-Mail direkt aus Excel.

  • Externe Datenquellen: Du kannst auch externe Datenquellen nutzen, um Rechnungsdaten zu importieren oder zu exportieren, was die Verwaltung erheblich vereinfacht.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Rechnungen in einer Zelle anzeigen?
Du kannst die Funktion TEXTVERKETTEN nutzen, um mehrere Rechnungsbeträge oder -daten in einer Zelle zusammenzuführen.

2. Ist es möglich, Rechnungen automatisch zu erstellen?
Ja, mit VBA kannst du Rechnungen automatisch erstellen und als neue Tabellenblätter in deiner Kundenmappe speichern.

3. Wie kann ich sicherstellen, dass die Rechnungsnummer fortlaufend ist?
Du kannst eine zentrale Datenbank verwenden, um die Rechnungsnummern zu verwalten, oder die letzte Rechnungsnummer in der Kundenmappe speichern und bei jeder neuen Rechnung erhöhen.

4. Wo finde ich eine gute Excel Rechnungsvorlage?
Es gibt viele kostenlose Vorlagen im Internet, die du anpassen kannst. Suche nach „Excel Rechnungsformular Vorlage“ oder „Excel Rechnungsvorlage mit Datenbank“.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige