Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Sortierung zerstört fortlaufende Auftragsnummern
#11
(08.12.2021, 15:46)LCohen schrieb: Worksheet_Change, nicht Formel. Hatte ich doch gesagt.

Noch billiger: Einfach =ZEILE() verwenden im W_Change.

Ich dachte, ich hätte das Problem anderweitig gelöst. Dem ist aber nun doch nicht so. Magst du hierzu (besonders zu der Idee mit der MAX-Formel im Worksheet-Change) einmal elaborieren und eventuell zeigen, wie hier der Code aussehen mag?
Als VBA-Anfänger, der noch nie mit Worksheet_Change gearbeitet hat und sich seinen Code meistens durch Beispiele aus dem Internet zusammenschustert, erschließt sich mir das noch nicht ganz.
Antworten Top
#12
A1:B11:
A-Nr -9999
12 1
5 2
8 2
9 2
4 3
6 4
10 4
2 5
7 5
11 6


Private Sub Worksheet_Change(ByVal T As Range)
If T.Column = 2 Then
  If T.Offset(, -1) = "" Then
  Application.EnableEvents = False
  T.Offset(, -1) = WorksheetFunction.Max([A:A]) + 1
  Application.EnableEvents = True
  End If
  [A1].CurrentRegion.Sort [B1]
End If
End Sub

verwendet nicht ZEILE(), sondern MAX()+1.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste