Sub Plus()
Dim i As Integer
Dim bisherID As String
Dim neuID As String
Dim Eingabe As Range
Dim wsAusgabe As Worksheet
Dim wsDaten As Worksheet
Dim SpalteID As Integer
Dim StartZeileDaten As Integer
'Anpassen
'----
Set wsDaten = Sheets("Daten") 'Name des Datenblatts
Set wsAusgabe = Sheets("Ausgabe") 'Name des Ausgabeblatts
Set Eingabe = wsAusgabe.Cells(2, 3) 'Zelle in der die Eingabe erfolgt Cells(2,3) -> Zeile 2 Spalte 3
SpalteID = 1 'Spalte in der die ID auf dem Datenblatt steht
StartZeileDaten = 2 'Zeile in der die Daten auf dem Datenblatt starten
'---
bisherID = Eingabe.Value
i = StartZeileDaten
Do While Sheets("Daten").Cells(i, SpalteID) <> ""
If Sheets("Daten").Cells(i, SpalteID) = bisherID Then
neuID = Sheets("Daten").Cells(i + 1, SpalteID)
End If
i = i + 1
Loop
If neuID = "" Then
MsgBox ("Letzter Eintrag erreicht")
Exit Sub
Else
Eingabe.Value = neuID
End If
End Sub
Sub Minus()
Dim i As Integer
Dim bisherID As String
Dim neuID As String
Dim Eingabe As Range
Dim wsAusgabe As Worksheet
Dim wsDaten As Worksheet
Dim SpalteID As Integer
Dim StartZeileDaten As Integer
'Anpassen
'----
Set wsDaten = Sheets("Daten") 'Name des Datenblatts
Set wsAusgabe = Sheets("Ausgabe") 'Name des Ausgabeblatts
Set Eingabe = wsAusgabe.Cells(2, 3) 'Zelle in der die Eingabe erfolgt Cells(2,3) -> Zeile 2 Spalte 3
SpalteID = 1 'Spalte in der die ID auf dem Datenblatt steht
StartZeileDaten = 2 'Zeile in der die Daten auf dem Datenblatt starten
'---
bisherID = Eingabe.Value
i = StartZeileDaten
Do While Sheets("Daten").Cells(i, SpalteID) <> ""
If Sheets("Daten").Cells(i, SpalteID) = bisherID Then
If i > StartZeileDaten Then
neuID = Sheets("Daten").Cells(i - 1, SpalteID)
End If
End If
i = i + 1
Loop
If neuID = "" Then
MsgBox ("Erster Eintrag erreicht")
Exit Sub
Else
Eingabe.Value = neuID
End If
End Sub
Wenn ich den Aufbau deiner Tabelle richtig verstanden habe dann sollte das funktionieren, du brauchst hierbei auch keine durchlaufende Nummer.
Das Makro sucht einfach deine bisher eingetragene ID in deiner Datenbasis und überschreibt das ganze mit der ID darüber oder darunter.
Einfach den Code in ein Modul einfügen, die Parameter unter "Anpassen" entsprechend anpassen und auf Buttons oder Tastenkombinationen binden.
Grüße
Rene
|