Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
868to872
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
868to872
868to872
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

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

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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige