Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
416to420
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
416to420
416to420
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Rechnungsnummer in wachsende Tabelle

Rechnungsnummer in wachsende Tabelle
Cordula
Hallo Excel-Freunde,
ein Rechnungsformular wird vom Anwender ausgefüllt und beim Drucken der Rechnung lasse ich per VBA bestimmte Zellen, wie Name, Betrag etc. in eine "wachsende" Tabelle einer anderen Mappe eintragen. Das klappt. Das Problem ist die Rechnungsnummer. Da der Anwender mit 4 verschiedenen Vorlagen arbeitet kann ich die RG-Nr. NICHT in dem Formular um 1 hochzählen. Eine Lösung wären, ein Formular wird geöffnet, Excel schaut in der "wachsenden" Tabelle nach der zuletzt eingetragenen RG-Nummer (alle 4 Vorlagen arbeiten mit der selben "wachsenden" Tabelle), erhöht diese um 1 und trägt sie automatisch in das Formular ein. Dann werden wie gehabt beim Drucken die Variablen in die "wachsende" Tabelle geschrieben, dazu gehört dann auch die RG-Nummer.
Ist das zu lösen?
Vielen Dank schon mal für Eure Hilfe.
LG
Cordula

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Rechnungsnummer in wachsende Tabelle
K.Rola
Hallo,
du hast doch eine mögliche Lösung schon selbst geliefert, wo ist da das Problem?
Gruß K.Rola
@ K.Rola
Björn
Level: VBA nur mit Recorder
Gruß
Björn
Danke für den Hinweis oT
K.Rola
k
Rechnungsnummer
Cordula
Hallo Ihr,
das Problem liegt darin, dass ich nicht weiß, wie der VBA-Code dafür auszusehen hat! Betrifft aber nur die Rechnungsnummer. Das andere klappt ja!
Liebe Grüße
Cordula
AW: Rechnungsnummer
Josef
Hallo Cordula!
Das auslesen der Rechnungsnummer kann so funktionieren!
Option Explicit

Sub leseNummer()
'Annahme die fortlaufenden Nummern stehen in Spalte "A"
Dim lngE As Long
With Sheets("wachsendeTabelle") 'Name anpassen
lngE = IIf(IsEmpty(.Range("A65536")), .Range("A65536").End(xlUp).Row, 65536)
MsgBox .Cells(lngE, 1) + 1
End With
End Sub

Gruß Sepp
Anzeige
@ Josef
25.04.2004 21:38:46
Cordula
Vielen Dank Josef für den Code. Das Problem ist aber, dass in Spalte A nichts steht. Noch nicht, soll ja automatisch von Excel eingetragen werden.
Ich versuche den Code von Rainer.
LG
Cordula
Funktioniert. DANKE! o.T.
26.04.2004 11:54:28
Cordula
:-)
AW: Rechnungsnummer in wachsende Tabelle
Ramses
Hallo
dann kopier den Code in das WorkbookOpen Ereignis von jeder deiner Vorlagen.
Damit ist die Rechnungsnummer extern ausgelagert, und das ganze funktioniert automatisch.
Sub Fortlaufende_RechnungsNummer() 'byRamses 'Das Makro in das Workbook_Open Ereignis einer Vorlage !!! kopieren 'um die automatische Nummern erstellung zu generieren. 'Beim speichern der Vorlage darf in der Zelle mit dem Namen "Rechnungsnummer" 'nichts stehen 'Ansonsten kann das Makro einer Schaltfläche zugwiesen werden. 'In der Zelle mit dem Namen "Rechnungsnummer" darf nichts stehen !! 'beim ausführen bzw. Start des Makros On Error GoTo R_Error Dim newNr As Variant, oldNr As Variant Dim FileName As String FileName = "C:\Rechnung.ini" 'Prüfen ob bereits eine Rechnungsnummer in der Zelle steht 'Um ein erneutes hochzählen bei späterem öffnen der Datei zu vermeiden If Range("Rechnungsnummer") <> "" Then Exit Sub 'Erstellen einer externen Datei zum dokumentieren der 'fortlaufenden 5 stelligen Nummer Close #1 'Öffnen der INI Datei restart: 'Pfad der Datei bitte in der Deklaration anpassen Open FileName For Input As #1 'einlesen der alten Nummer Line Input #1, oldNr Close #1 'Berechnen und schreiben der neuen Nummer newNr = oldNr + 1 Open FileName For Output As #1 Write #1, newNr 'Schliessen der INI Datei Close #1 'Länge der Zahl bestimmen Select Case Len(newNr) Case 1 newNr = "0000" & newNr Case 2 newNr = "000" & newNr Case 3 newNr = "00" & newNr Case 4 newNr = "0" & newNr Case 5 newNr = newNr Case 6 MsgBox "Zahlenlimit überschritten" Exit Sub End Select 'Rechnungsnummer ist ein Name der sich auch eine Zelle bezieht 'Achtung:: Es dürfen keine Doppelpunkte, Slash oder Backslash verwendet werden Range("Rechnungsnummer") = "RechNr. " & Format(Now, "yyyy") & "-" & newNr R_Exit: Exit Sub R_Error: Select Case Err Case 53 'Datei ist noch nicht vorhanden Open FileName For Output As #1 Close #1 Open FileName For Output As #1 Write #1, 0 Close #1 Err.Clear Resume restart Case 54 'Datei ist bereits geöffnet und wurde noch nicht wieder geschlossen Close #1 Resume restart Case Else MsgBox Err & ": " & Err.Description Resume R_Exit End Select End Sub
Gruss Rainer
Anzeige
Respekt Rainer und kleiner Tipp für Cordula
Björn
Hallo Cordula,
falls Du das ganze in einem Netzwerk nutzen willst, so musst Du den Pfad für Rainer's INI-Datei noch auf ein Netzlaufwerk anpassen, dann ist sogar ein Multi-User-Zugriff abgedeckt.
Gruß
Björn
P.S.: Wie gesagt, Respekt Rainer!
Merci ;-))) o.T.
Ramses
...
Rechnungsnummer
25.04.2004 21:18:52
Cordula
Hallo,
vielen Dank für Eure Hilfe. Ich werde es gleich testen.
LG
Cordula

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige