Dies ist mein erster Beitrag als User, weshalb ich darum bitte, bei eventuellen Formfehlern meinerseits Gnade walten zu lassen...
In meiner Tabelle befinden sich Gegenstände (Spalte D) und jeweils eine Nr (Spalte B). In Spalte C bringe ich die "Nr" auf das von mir gewünschte Format. Die ersten Nummern habe ich per Hand eingetragen (1,2,...). Etwa wie folgt:
Zeile | Auswahl | Nummer | ID | Gegenstände
12 | | 1 | 00001 | Kaffeemaschine
13 | | 2 | 00002 | Kühlschrank
14 | | 3 | 00003 | Tisch
Nun möchte ich bei jedem neuen Eintrag in Spalte D automatisch die nächste Nummer in Spalte B _
einfügen. Bisher löse ich das mit folgendem Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("D:D")) Is Nothing Or _
Target.Count > 1 Then Exit Sub
Target.Offset(, -2) = IIf(Len(Target) > 0, Target.Row - 11, "")
End Sub
Nun möchte ich aber auch Artikel löschen können!! Da der Code nur die Zeilen zählt, wird nach löschen von z.B. Zeile 13 aber erneut die "3" vergeben, was ja das Ziel der eindeutigen Nr verfehlt.
Meine Idee geht, wie im Betreff bereits geschrieben, in Richtung eines Codes, welcher den Maximalwert einer Spalte findet, eine 1 addiert und in der ersten freien Zelle (ab Zeile 12) der Spalte A den berechneten Wert einsetzt.
Bei meiner Suche schon länger dauernden Suche im Netz habe ich diesen Code
Sub maxpluseins()
Sheets("Tabelle1").Range("C12").Value = Application.WorksheetFunction.Max(Sheets("Tabelle2"). _
Range("B4:B24")) + 1
End Sub
..gefunden.
Allerdings reichen meine VBA-Kenntnisse noch nicht, um es an ActiveSheet, ein variables Target (also Einfügen immer unterhalb der Tabelle) anzupassen (Entschuldigung, falls dieser Satz den Profis unter euch die Haare zu Berge stehen lässt). Außerdem wird dafür eine "Schaltfläche" benötigt, mir wäre aber eine automatische Reaktion wie im ersten Code wichtig, um Flüchtigkeitsfehler von Beginn an auszuschließen.
Meinen bisherigen Ansatz habe ich als Datei angehängt.
Ich bedanke mich schon einmal im voraus bei jedem, der seine Zeit auch nur mit dem Lesen meines Problems verbringt, ganz zu schweigen von denen, welche sich auch noch an die Lösung begeben!
Liebe Grüße!
https://www.herber.de/bbs/user/108313.xlsm