Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
896to900
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
896to900
896to900
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fortlaufende Nummer prüfen und nur einmal vergeben

Fortlaufende Nummer prüfen und nur einmal vergeben
13.08.2007 18:03:00
chris58
Hallo !
Ich habe eine Excelmappe in der insgesamt 3 Blätter drinnen sind. Es gibt dabei eine "Eingangsliste" wo eine fortlaufende Nummerierung in Spalte B stattfindet. Aus dieser Eingangsliste werden bei Bedarf Zeilen in eine "Auftrag" und "Erledigt" Datei herausgelöscht und dort aufbewahrt. Nun bin ich gerade draufgekommen, daß wenn ich die fortlaufenden Nummern nicht mehr in der "Eingangsliste" habe, diese jedoch entweder in der "Auftrag" oder "Erledigt" Datei vorkommen, ich eine falsche fortlaufende Nummer eingebe. Nun zu meiner Frage:
Kann man mittels VBA prüfen ob die Nummer die vergeben wird schon vorkommt und dann die nächstmögliche ermittelt oder kann man mittels VBA die Antweisung erteilen, das die nächstmögliche Nummer, wenn man ein Datum in Spalte A eingibt, vergeben wird ?
Danke für eure Hilfe
chris

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fortlaufende Nummer prüfen und nur einmal vergeben
13.08.2007 19:30:07
Original
Hi,
lad mal ein Beispiel hoch.
mfg Kurt

AW: Fortlaufende Nummer prüfen und nur einmal vergeben
13.08.2007 19:55:41
chris58
Hier die Datei ... hoffe du kannst mir helfen. Wenn die Nummer aus Dok.Ink. in Neuwagen-Finanzierung kopiert wird, dann sieht man sie nicht mehr, also könnte man dann die nächste Nummer nehmen, obwohl diese ja bereits vergeben ist.
danke
chris

Die Datei https://www.herber.de/bbs/user/45024.xls wurde aus Datenschutzgründen gelöscht


AW: Fortlaufende Nummer prüfen und nur einmal vergeben
13.08.2007 20:59:00
Original
Hi,
Mann, ist das ein Gewurschtel, da hänge ich mich nicht rein.
Nur mal vom Prinzip, ermittle das Maximum der drei Spalten, das geht ja ganz easy mit
der Funktion Max(), Max + 1 ist dann immer die nächstmögliche Nummer.
mfg Kurt

Anzeige
AW: Fortlaufende Nummer prüfen und nur einmal vergeben
13.08.2007 21:33:00
Peter
Hallo Chris,
ich gehe davon aus, dass du die lfd Nr im Blatt Dok.Ink. manuell erfasst.
Dann könnte die Prüfung so gehen. https://www.herber.de/bbs/user/45026.xls
Gruß Peter

AW: Fortlaufende Nummer prüfen und nur einmal vergeben
13.08.2007 22:36:00
chris58
Hallo !
Ja, das ist das richtige, nur leider bin ich nicht fähig das in meine Datei reizukopieren. Ich nehme den Code aus Dok.Ink. und kopiere ihn in meine Datei Dok.Ink. .. doch da geht der Code dann nicht
lg
chris
So hab ich den Code kopiert in Dok.Ink. muß ich noch woanders eine Änderung vornehmen ?

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lRow     As Long
Dim sSheet   As String
Dim iLfd_Nr  As Integer
If Target.Column = 2 And Target.Row > 3 And Target.Rows.Count = 1 Then
If Target.Value > WorksheetFunction.Max(Range("B3:B" & Target.Row - 1)) Then
If Application.WorksheetFunction.CountIf(Worksheets _
("Neuwagen-Finanzierung").Range("B3:B1000"), Target.Value)  0 Or _
Application.WorksheetFunction.CountIf(Worksheets _
("Erledigt").Range("B3:B1000"), Target.Value)  0 Then
MsgBox "Die eingetragene laufende Nummer  """ & Target.Value & _
"""  gibt es bereits - bitte eine neue Nummer eingeben.", _
48, "   Hinweis für " & Application.UserName
Target.Value = ""
Cells(Target.Row, 2).Select
Exit Sub
End If
End If
End If
If Not ((Target.Column = 9 Or Target.Column = 10) And _
Target.Row > 3 And Target.Rows.Count = 1) Then GoTo leave_sub
On Error GoTo leave_sub
Application.EnableEvents = False
If IsDate(Target) Then ' Abfrage, ob Datum
sSheet = IIf(Target.Column = 9, "Erledigt", "Neuwagen-Finanzierung")
lRow = Sheets(sSheet).Range("A" & Sheets(sSheet).Rows.Count).End(xlUp).Row + 1
ActiveSheet.Range(Cells(Target.Row, 1), Cells(Target.Row, 10)).Copy
Sheets(sSheet).Cells(lRow, 1).PasteSpecial Paste:=xlPasteValues
If sSheet = "Erledigt" Then
Sheets(sSheet).Cells(lRow, 1).PasteSpecial Paste:=xlPasteFormats
ActiveSheet.Cells(Target.Row, 1).EntireRow.Delete (xlUp)
Sheets(sSheet).Cells(lRow, 11) = Date
MsgBox "Wurde in die Datei [Erledigt] kopiert" & vbCrLf & _
"und in der Datei [Dok.Ink] gelöscht!", _
vbOKOnly + vbInformation, "Erledigen"
Else
Sheets(sSheet).Cells(lRow, 11).Value = Date
MsgBox "Datensatz wurde in Datei [" & sSheet & "] kopiert!", _
vbOKOnly + vbInformation, "Kopieren"
End If
End If
leave_sub:
Application.EnableEvents = True
End Sub



Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("C4:C5000")) Is Nothing Then
Sheets("Quittung").Range("D7").Value = Target.Value
End If
End Sub


Anzeige
AW: Fortlaufende Nummer prüfen und nur einmal vergeben
14.08.2007 09:32:00
Peter
Hallo Chris,
der Code gehört in das Tabellenblatt Dok.Ink.
Rechtsklick auf den Tabellenblatt-Reiter
Code anzeigen anklicken
das vorhandene Private Sub Worksheet_Change(ByVal Target As Range) durch das neue ersetzen
Schließen-Kreuz anklicken
Mappe sichern
testen.
Gruß Peter

AW: Fortlaufende Nummer prüfen und nur einmal vergeben
14.08.2007 18:40:00
chris58
Danke....... irgendwas hab ich falsch gemacht........... jetzt gehts plötzlich
danke nochmals
chris

298 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige