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

Formelzusammenstellung

Forumthread: Formelzusammenstellung

Formelzusammenstellung
28.09.2006 14:28:47
flux
Hallo,
Ich bräuchte dringend Hilfe!
Ich muss eine Formel erstellen die folgende Nummer ergibt:
M06391
M= fester Buchstabe
06= aktueles Jahr
39= aktuelle KW
1= fortlaufende Nummer
Bei jedem speichern und neu öffnen müsste sich die "1" um eine Ziffer erhöhen.
Desweiteren kommt hinzu das bei jeder neuen KW, die forlaufende Zahl wieder auf 1 zurücksetzen soll.
Ist dies überhaupt so möglich?
Schon mal Danke im Voraus!
Sebastian
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formelzusammenstellung
28.09.2006 15:33:53
UweD
Hallo
hab mal was gebastelt...
- Rechtsclick auf das kleine Excelsymbol in der Symbolleiste neben Datei
- Code anzeigen
- ins neue Fenster (DieseArbeitsmappe) den code reinkopieren


      
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    
Dim Neu$, Konst$, Jahr$, KW As Byte, tmp As Date, Lnr%, Zelle
    
Set Zelle = Sheets("Tabelle1").Range("A1"'Rechnungsnummer steht in A1
    Jahr = Format(Date, "YY")
    Konst = 
"M"
    
'aktuelle KW ermitteln
        tmp = DateSerial(Year(Date + (8 - Weekday(Date)) Mod 7 - 3), 1, 1)
        KW = ((Date - tmp - 3 + (Weekday(tmp) + 1) 
Mod 7)) \ 7 + 1
    
'
    If Zelle.Value = "" Then 'neu anlegen
        Neu = Konst & Jahr & KW & "1"
    
Else
        
If KW > Mid(Zelle, 4, 2) Then 'neue KW
            Lnr = 1
        
Else 'gleiche KW
            Lnr = Mid(Zelle, 6) + 1
        
End If
        
'
        Neu = Konst & Jahr & KW & Lnr
    
End If
    
    
'Nr. in Zelle schreiben
    Sheets("Tabelle1").Range("A1") = Neu
    
End Sub 


Gruß UweD
(Rückmeldung wäre schön)
Anzeige
Update...
28.09.2006 15:45:42
UweD
Hallo nochmal
Es gab noch Probleme beim Jahreswechsel...
so dürfte es auch dann klappen..


      
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    
Dim Neu$, Konst$, Jahr$, KW As Byte, tmp As Date, Lnr%, Zelle
    
Set Zelle = Sheets("Tabelle1").Range("A1"'Rechnungsnummer steht in A1
    Jahr = Format(Date, "YY")
    Konst = 
"M"
    
'aktuelle KW ermitteln
        tmp = DateSerial(Year(Date + (8 - Weekday(Date)) Mod 7 - 3), 1, 1)
        KW = ((Date - tmp - 3 + (Weekday(tmp) + 1) 
Mod 7)) \ 7 + 1
    
'
    If Zelle.Value = "" Then 'neu anlegen
        Neu = Konst & Jahr & KW & "1"
    
Else
        
If Jahr & KW <> Mid(Zelle, 2, 4) Then 'neue KW
            Lnr = 1
        
Else 'gleiche KW
            Lnr = Mid(Zelle, 6) + 1
        
End If
        
'
        Neu = Konst & Jahr & KW & Lnr
    
End If
    
    
'Nr. in Zelle schreiben
    Sheets("Tabelle1").Range("A1") = Neu
    
End Sub 


Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: Formelzusammenstellung
28.09.2006 15:58:14
flux
Ich bin sprachlos...
Es hat perfekt funktioniert! Respekt!!!
Vielen, vielen Dank!
Gruß Sebastian
;

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