Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1520to1524
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
Wert auslesen aus Feld der jew. letzten Zeile
09.11.2016 14:13:18
Stefan
Hallo zusammen,
ich hab ein kleines Problem mit einer VBA Programmierung, aber ich krieg einen kleinen Schritt nicht hin und hab auch bei der Forensuche keine Hilfe gefunden...
Ich habe eine Liste, in die ich per UserForm in die jeweils letzte freie Zeile einen Datensatz einlese. Dabei soll jede Zeile eine Kennziffer erhalten die mit der Jahreszahl beginnt und dann eine dreistellige fortlaufende Nummer erhält, also z.B: 16001.
Wie bekommen ich diese 001 von der letzten Zeile nun in die neue zu beschreibende Zeile? Ich dachte bisher ich nehme einfach das aktuelle Jahr und rechne es mit year(d) -2000 * 1000 in die 5-stellige Zahl um (16000) und addiere dann einfach die fortlaufende Nummer dazu. Aber wie bekommen ich aus einer definierten Spalte der letzten Zeile den Wert?
Gruß,
Stefan

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert auslesen aus Feld der jew. letzten Zeile
10.11.2016 03:56:02
Werner
Hallo Stefan,
die Berechnung deiner Kennziffer aus dem Datum ginge beispielsweise so:
Public Sub test()
Dim loKennziffer As Long
loKennziffer = (Year(Now) - 2000) * 1000
MsgBox "Die erste Kennziffer ist: " & loKennziffer
MsgBox "Die nächste Kennziffer ist: " & loKennziffer + 1
End Sub
Nur mal als Beispiel mit Ausgabe in einer Messagebox.
Was du allerdings hiermit Aber wie bekommen ich aus einer definierten Spalte der letzten Zeile den Wert? meinst ist mir völlig unklar.
Gruß Werner
AW: Wert auslesen aus Feld der jew. letzten Zeile
10.11.2016 10:51:59
Stefan
Hallo Werner,
ich hab eine Liste die fortwährend befüllt ist. Da hab ich zum Beispiel den letzten Auftrag mit der Nummer 16028. Wenn jetzt ein neuer Auftrag kommt, soll das Feld mit der jeweils letzten Nummer ausgelesen werden und für den neuen dann die 16029 eingetragen werden.
Ich hab jetzt eine andere FUnktion gefunden:
    Dim KANr As Long
Dim Jahr As Integer
Jahr = Year(Date)
KANr = ActiveWorkbook.BuiltinDocumentProperties(5)
If Jahr  Year(Date) Then
KANr = 1
End If
KANr = KANr + 1
Jahr = Jahr - 2000
ActiveWorkbook.BuiltinDocumentProperties(5) = KANr
ActiveSheet.Cells(intErsteleereZeile, 4).Value = Jahr & Format(KANr, "000") '& "/" & Jahr
Allerdings schreibt er dann immmer einen neue Nummer! Wenn ich die Liste lösche (v.a. jetzt zu Testzwecken) macht er wieder bei der letzten Ziffer weiter und startet nicht neu bei Null....
Gruß,
Stefan
Anzeige
AW: Wert auslesen aus Feld der jew. letzten Zeile
10.11.2016 11:07:12
Stefan
Nachtrag:
Auch wenn ich ein neues Jahr im System einstelle, macht er mit der jeweils letzten Ziffer weiter. Das Jahr stimmt dann, aber die fortlaufende Nummer wird nicht zurückgesetzt....
AW: Wert auslesen aus Feld der jew. letzten Zeile
10.11.2016 17:06:05
Werner
Hallo Stefan,
probier mal:
Public Sub test()
Dim loKennziffer As Long
Dim loLetzte As Long
loLetzte = Sheets("Tabelle1").Cells(Rows.Count, 4).End(xlUp).Row 'Tabelle anpassen
With Sheets("Tabelle1") 'Tabelle anpassen
loKennziffer = (Year(Now) - 2000) * 1000 + 1
On Error Resume Next
If CLng(Left(.Cells(loLetzte, 4), 2))  Year(Now) - 2000 Then
.Cells(loLetzte + 1, 4) = loKennziffer
Else
.Cells(loLetzte + 1, 4) = .Cells(loLetzte, 4) + 1
End If
End With
End Sub
Gruß Werner
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige