Office - Word, Excel und Co. 9.759 Themen, 41.747 Beiträge

Excel Rechnungsnummer

Edgar Rau / 14 Antworten / Baumansicht Nickles

Hallo,


ich habe in Excel eine Rechnungsvorlage erstellt. Nun will ich, daß jedesmal, wenn diese Vorlage geladen wird, die Rechnungsnummer um eins hochgezählt wird. Ich würde mich freuen, wenn mir jemand einen Tipp geben würde,


In Voraus vielen Dank


Edgar


 

Wer brauchen ohne zu gebraucht, braucht brauchen gar nicht zu gebrauchen
bei Antwort benachrichtigen
Kolti Edgar Rau „Excel Rechnungsnummer“
Optionen

Du mußt Dir ein Makro schreiben, welches beim Start der Seite aufgerufen wird.
Es bekommt den Namen Auto_Open

Der Inhalt ist dann
Cells(zeile, spalte) = Cells(zeile, spalte) + 1

bei Antwort benachrichtigen
Edgar Rau Kolti „Du mußt Dir ein Makro schreiben, welches beim Start der Seite aufgerufen wird....“
Optionen

Hallo Kolti, erstmal vielen Dank.
Wenn ich nun das Dokument lade, erscheint "Laufzeitfehler 1004" Anwendungs- oder Obektdefinierter Fehler. Das Makro reagiert jedenfalls beim Starten.
In der Zelle G17 soll die Rechnungsnummer stehen. Das Makro sieht so aus:
Sub Auto_open()
Cells(17, G) = Cells(17, G) + 1
End Sub
Es scheitert bestimmt an meiner Unkenntnis. Für weitere Hilfe dankbar.
Edgar

Wer brauchen ohne zu gebraucht, braucht brauchen gar nicht zu gebrauchen
bei Antwort benachrichtigen
Edgar Rau Kolti „Du mußt Dir ein Makro schreiben, welches beim Start der Seite aufgerufen wird....“
Optionen

Hallo Kolti,
ich habe das Makro geändert:
Sub Auto_open()
Cells(17, 7) = Cells(17, 7) + 1
End Sub
Man muss statt Buchstabe G die Zahl 7 eingeben. Vieleb Dank für deine Hilfe.
Edgar

Wer brauchen ohne zu gebraucht, braucht brauchen gar nicht zu gebrauchen
bei Antwort benachrichtigen
Kolti Edgar Rau „Alle geklappt“
Optionen

Nicht unbedingt.
Du kannst ja vorher eingeben:
Zeile = 17
Spalte = 7
Das macht man deshalb, weil man vielleicht mal den Ort der Berechnung ändern will.
Na gut, bei einer Zelle ist das nicht relevant, aber wenn viele Berechnungen stattfinden, dann ist das Arbeiten mit Variablen schon besser.

bei Antwort benachrichtigen
Edgar Rau Nachtrag zu: „Excel Rechnungsnummer“
Optionen

Hi,
nachdem alles geklappt hat, habe ich die Rechnungsvorlage (gespeichert unter Rechnung.xlt) formatiert und habe sie dann aus den Vorlagen heraus gestartet. Es wird ja dann eine Arbeitsmappe auf Basis der Vorlage geöffnet . Dort wird allerdings nicht hochgezählt. Eigentlich ganz logisch, aber wo soll ich den jetzt das Makro einfügen, damit die Arbeitsmappe Rechnung.xls die Rechnungsnummer nach jedem Start hochzählt?
Edgar

Wer brauchen ohne zu gebraucht, braucht brauchen gar nicht zu gebrauchen
bei Antwort benachrichtigen
Kolti Edgar Rau „Ein weiteres Problem“
Optionen

Hmmm.
Da muß man experimentieren.
Extras - Makro - Makros
In dem Fenster kann man bestimmen, wo das makro ausgeführt werden soll.
Eine andere Möglichkeit ist es, die Mappe im Verzeichnis XLSTART unterzubringen. Sie wird dann bei jedem Excelstart automatisch geöffnet.
Mußt mal probieren, was für Dich paßt.

bei Antwort benachrichtigen
Edgar Rau Kolti „Ein weiteres Problem“
Optionen

Hallo,
ich habe überlegt, wenn ich nach dem Befehl
"Cells(7, 17) = Cells(7, 17) + 1"
einen Befehl eingebe der die Datei speichert, müßte doch die Vorlage immer mit der hochgezählten Nummer gespeichert werden. Kann mir jemand sagen, wie der Befehl zum speichern der aktuellen Datei heißt?
Im Voraus vielen Dank.
Edgar

Wer brauchen ohne zu gebraucht, braucht brauchen gar nicht zu gebrauchen
bei Antwort benachrichtigen
Kolti Edgar Rau „Ein weiteres Problem“
Optionen

Öffne eine Seite und speichere sie als Vorlage.

Diesen ganzen Vorgang zeichnest Du mit einem Makro auf. Dann hast Du auch den Befehl. Sieht dann ungefähr so aus. Das mußt Du aber zweimal machen, weil er ja die alte Vorlage überschrieben soll. Dieser Befehl existiert hier noch nicht.

Sub Makro1()
ActiveWorkbook.SaveAs Filename:= _
"C:\WINDOWS\Anwendungsdaten\Microsoft\Vorlagen\Rechnung.xlt", FileFormat:= _
xlTemplate, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False
End Sub

bei Antwort benachrichtigen
Edgar Rau Kolti „Ein weiteres Problem“
Optionen

Ja, so klappt es; allerdings wird jetzt die Datei "Rechnung.xlt" gestartet. Muß ich jetzt noch einen Befehl zum schließen eingeben oder was muß ich machen, damit ein neues Arbeitsblatt erscheint? Ich hoffe, ich bemühe dich nicht zu sehr!
Im Voraus vielen Dank
Edgar

Wer brauchen ohne zu gebraucht, braucht brauchen gar nicht zu gebrauchen
bei Antwort benachrichtigen
Kolti Edgar Rau „Ein weiteres Problem“
Optionen

xlt ist die Vorlage zu Deinen Rechnungen. Das wolltest Du doch haben.
Dann trägst Du da Deine Daten ein und speicherst als *.xls

bei Antwort benachrichtigen
Edgar Rau Nachtrag zu: „Excel Rechnungsnummer“
Optionen

Hallo Kolti,
ich habe ein wenig experimentiert und eine Lösung gefunden:

Sub Auto_Open()
Cells(17, 7) = Cells(17, 7) + 1
ActiveWorkbook.SaveAs Filename:= _
"C:\WINDOWS\Anwendungsdaten\Microsoft\Vorlagen\Rechnung.xlt"
Workbooks.Add(Template:= _
"C:\WINDOWS\Anwendungsdaten\Microsoft\Vorlagen\Rechnung.xlt").RunAutoMacros _
Which:=xlAutoOpen
ActiveWorkbook.Close
End Sub

Allerdings sagt er, wenn der "Save Befehl" ausgeführt werden soll, "diese Datei ist....." und ich muss bestätigen, das die Datei überschrieben wird. Es gibt doch bestimmt einen Befehl, der das unterdrückt.
Vielen Dank für deine Hilfe und dein Interesse
Edgar

Wer brauchen ohne zu gebraucht, braucht brauchen gar nicht zu gebrauchen
bei Antwort benachrichtigen
Kolti Edgar Rau „GESCHAFFT“
Optionen

Betrifft: Bestätigung beim Speichern unterdrücken.
Problem: Wie kann ich die Rückfrage beim Speichern, ob die bereits vorhandene Datei ersetzt werden soll, verhindern?
Lösung: Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.

VBA-Code anzeigen StandardModule: basMain

Sub SaveBook()
Dim sName As String
On Error GoTo ERRORHANDLER
sName = ActiveWorkbook.FullName
sName = InputBox( _
prompt:="Bitte Dateiname angeben:", _
Default:=sName)
If sName = "" Then Exit Sub
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs sName
Application.DisplayAlerts = True
ERRORHANDLER:
End Sub

bei Antwort benachrichtigen
Kolti Nachtrag zu: „GESCHAFFT“
Optionen

Application.DisplayAlerts = False
ActiveWorkbook.SaveAs sName
Application.DisplayAlerts = True

bei Antwort benachrichtigen
Kolti Nachtrag zu: „GESCHAFFT“
Optionen

Application.DisplayAlerts = False
ActiveWorkbook.SaveAs sName
Application.DisplayAlerts = True

bei Antwort benachrichtigen