Automatisch generen van test nummer

Status
Niet open voor verdere reacties.

Relleboer

Gebruiker
Lid geworden
6 okt 2006
Berichten
264
Ben voor het werk bezig een programma te schrijven om gegevens mee te verwerken. (zitten veel berekeningen achter de testen zodat het voor ons makkelijker is om het in excell te doen). Nu loop ik tegen het volgende probleem aan. Ik wil dat excell automatich het volgende test nummer gaat aanmaken zodra het formulier word geopend. Maar het nummer moet het aansluiten op de laatste in de database. ( niet dat ik formulier open en weer sluit zonder de gegevens in te voegen aan de database er een nummer verloren gaat) Het is belangrijk dat het test nummer meteen te voorschijnkomt en dus altijd een vervolg nummer is van de laatste test).


kan iemand me helpen want kan er niet opkomen hoe ik het moet doen.
 
Deze formule gebruik ik om een volgende rekeningnummer te genereren.
=MAX($A:$A)-AFRONDEN.NAAR.BENEDEN(MAX(A:A);-3)+1
waarin de nummers in de eerste kolom (A) staan. (eerste nummer in A3) de formule zet je bijvoorbeeld in cel B1, niet in kolom A, want dan werkt 't niet.
in cel B1 staat dan vervolgns steeds het volgende nummer. gebruik VBA vervolgens om dit nummer in de volgende cel te plakken
ik gebruik hiervoor de volgende code (licht aangepast)
stop deze code ergens in een script

Range("b1").Select
Dim NextCell As Range
Set NextCell = Range("A65536").End(xlUp).Offset(1, 0)
NextCell.Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False


hoop het werkt voor je, en dat er geen fouten in zitten. M'n vba-kennis is niet geweldig...
 
Deze formule gebruik ik om een volgende rekeningnummer te genereren.
=MAX($A:$A)-AFRONDEN.NAAR.BENEDEN(MAX(A:A);-3)+1
waarin de nummers in de eerste kolom (A) staan. (eerste nummer in A3) de formule zet je bijvoorbeeld in cel B1, niet in kolom A, want dan werkt 't niet.
in cel B1 staat dan vervolgns steeds het volgende nummer. gebruik VBA vervolgens om dit nummer in de volgende cel te plakken
ik gebruik hiervoor de volgende code (licht aangepast)
stop deze code ergens in een script

Range("b1").Select
Dim NextCell As Range
Set NextCell = Range("A65536").End(xlUp).Offset(1, 0)
NextCell.Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False


hoop het werkt voor je, en dat er geen fouten in zitten. M'n vba-kennis is niet geweldig...

Nooit moeilijker maken dan het is :D.

Dit is al voldoende:

Code:
Range("A" & Rows.Count).End(xlUp).Offset(1) = Range("A" & Rows.Count).End(xlUp) + 1

Indien er nog gegevens staan in kolom A onder de laatste rij dan gaat deze code de mist in moet het een beetje aangepast worden.

Wigi
 
heb nog 1 vraagje werkt het ook als er elke keer na rij a1 een nieuwe rij word toegevoegt ivm het toevoegen van data van de testen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan