Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1556to1560
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
Inhaltsverzeichnis

Bedingung mit Datum(Jahr)

Bedingung mit Datum(Jahr)
17.05.2017 08:33:41
Alex
Hallo Community,
benötige eure Hilfe bei VBA.
Ich möchte gerne bei der Vergabe der Rekl.-Nr automatisch in der Abhängigkeit des Jahres den Zähler auf 1 setzen und ab da weiter fortlaufend die Rekl.-Nr generieren, wenn sich das Jahr ändert soll der Zähler wieder auf 1 gesetzt werden.
Hier ist mein jetziger VBA:

Sub Rekl_Nr_vergeben()
Dim Nr As Long
Dim Rekl_Nr As String
Nr = Application.Max(Range("H:H"))
Rekl_Nr = Application.Max(Range("A:A"))
Nr = Nr + 1
If Nr 
Vielen Dank in Voraus
Gruß
Sash

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ich versteh nicht ganz, was Du willst...
17.05.2017 08:45:53
Michael
Alex,
...aber hilft Dir das weiter?
If Year(Date)  Year(Date - 1) Then Rekl_Nr = 1
LG
Michael
AW: Ich versteh nicht ganz, was Du willst...
17.05.2017 11:22:01
Alex
Hi Michael,
ich habe mit der Bedingung von Dir versucht, aber der Zähler bleibt danach dauernd auf 1 und zählt nicht mehr hoch.

Sub Rekl_Nr_vergeben()
Dim Nr As Long
Dim Rekl_Nr As String
Nr = Application.Max(Range("H:H"))
Rekl_Nr = Application.Max(Range("A:A"))
Nr = Nr + 1
If 2018  Year(Date - 1) Then Nr = 1
Rekl_Nr = "Rekl-" & Year(Date) & "-" & Format(Nr, "000")
ActiveSheet.Range("A" & ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row + 1). _
Select
ActiveCell.Offset(0, 0).Value = Rekl_Nr
ActiveCell.Characters(Start:=13, Length:=3).Font.Size = 14
ActiveCell.Offset(0, 7).Value = Nr
End Sub
oder mach ich was falsch?
Vielen Dank und Gruß
Alex
Anzeige
AW: So hab ich es auch nicht gemeint...
17.05.2017 13:23:38
Michael
Alex ;-),
...aber auf Basis Deines letzten Code-Ausschnitts würde mein Vorschlag so aussehen:
'...
If Year(Date)  Year(Date - 1) Then Nr = 1
Nr = Nr +1
'...
...d.h. wenn die Jahreszahl des heutigen Tages NICHT der Jahreszahl des gestrigen Tages entspricht dann ist Nr gleich 1 (ansonsten behält Nr den davor zugewiesenen Wert); danach wird Nr um 1 erhöht.
LG
Michael
AW: So hab ich es auch nicht gemeint...
17.05.2017 13:39:45
Alex
Hi Michael,
vielen Dank für die Aufklärung...
VG Alex
Gern, vielenl Dank für die Rückmeldung, owT
17.05.2017 14:01:05
Michael
AW: Bedingung mit Datum(Jahr)
17.05.2017 08:48:45
ChrisL
Hi
Wenn du das Jahr von der Nummer in einer separaten Spalte speicherst geht es einfach:
Sub t()
Dim intJahr As Integer, intNr As Integer, lngZeile As Long
With Worksheets("Tabelle1")
intJahr = Year(Date)
intNr = WorksheetFunction.CountIf(.Columns(1), intJahr) + 1
lngZeile = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(lngZeile, 1) = intJahr
.Cells(lngZeile, 2) = intNr  'optional auch die Nr. separat speichern
.Cells(lngZeile, 3) = "Rekl-" & intJahr & "-" & Format(intNr, "00")
MsgBox "Die Nummer ist: " & .Cells(lngZeile, 3)
End With
End Sub

cu
Chris
Anzeige
AW: Bedingung mit Datum(Jahr)
17.05.2017 10:57:17
Alex
Hi Chris,
erst mal vielen Dank, dein Code funktioniert Super.
Es ist genau das was ich wollte...
Eine Frage hätte ich noch, damit ich auch dabei was lernen kann und nicht nur Copy/Paste mache :-)
Was ich bei deinem Code nicht verstehe oder rausfinde, warum es beim ersten Start in der Zelle A2 beginnt und nicht Beispielweise in A1
Vielen Dank!
VG Alexander
AW: Bedingung mit Datum(Jahr)
17.05.2017 12:44:30
ChrisL
Hi Alexander
Wenn die Liste noch leer ist, dann ist die letzte Zeile 1 und ich zähle 1 hoch, womit es bei 2 beginnt.
Ansonsten müsste man es so ähnlich lösen:
If .Range("A1") = "" Then
lngZeile = 1
Else
lngZeile = .Cells(Rows.Count, 1).End(xlUp).Row + 1
End If
Meistens sind in Zeile 1 sowieso die Titel und damit wäre es egal.
cu
Chris
Anzeige
AW: Bedingung mit Datum(Jahr)
17.05.2017 13:27:04
Alex
Hallo Chris,
da hast Du recht, in meiner original Datei ist in Zeile 1 der Titel.
Ist mir beim probieren in einer neu Arbeitsdatei aufgefallen, das es bei A2 anfängt.
vielen Dank für Deine Unterstützung, habe jetzt eigener Massen verstanden.
VG Alexander

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige