• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

In VB volgnummer met voorloopnullen automatiseren

Status
Niet open voor verdere reacties.

Fheitkonig

Gebruiker
Lid geworden
22 jan 2014
Berichten
18
Hallo, ik heb een VB scripje gemaakt om in een aantal rijen aan het einde een nieuwe regel toe te voegen met standaard vulling. Hij kijkt bij de voorgaande rij naar het nummer en hoogt dat met 1 op.
Alleen wil ik graag standaard 3 cijfers gebruiken (001, etc.) Hoe krijg ik voor elkaar dat die format goed staat?

Code:
Sub actie_toevoegen()
rij = Range("A65000").End(xlUp).Row
nummer = Right(Cells(rij, 1), 2)
Cells(rij + 1, 1) = "DPL-LT- " & nummer + 1
End Sub

Er staan in die rijen een aantal categorieën, (in dit script DPL-LT- maar dat kan ook DPL-DT- of DPL-TC- etc zijn). Als de sortering op categorie is en er staan bv 1000 rijen met 10 categorieën, dan werkt dit ook niet, feitelijk moet er eerst een validatie (wat is de laatste DPL-LT-) plaatsvinden en dan de nieuwe regel invoegen.

Wie weet het antwoord?

Alvast dank,
Ferry
 
Laatst bewerkt door een moderator:
fheitkonig,

Test de macro zo eens.
Code:
Sub actie_toevoegen()
  rij = Range("A65000").End(xlUp).Row
  nummer = Right(Cells(rij, 1), 2)
  Cells(rij + 1, 1) = "DPL-LT-" & Format(nummer + 1, "000")
End Sub

De code aangepast omdat het niet correct werkte maar Cobbe was me voor met de juiste code.
 
Laatst bewerkt:
Voor het geval dat je meer dan 10 nummers nodig hebt kan je deze misschien eens testen:
Code:
Sub actie_toevoegen()
rij = Range("A65000").End(xlUp).Row
nummer = Right(Cells(rij, 1), 2)
Cells(rij + 1, 1) = "DPL-LT- " & Format(nummer + 1, "000")
End Sub
 
@Cobbe,

Met het testen had ik mijn foutje ontdekt en na het puzzelen had ik het gevonden.
Je was me dus voor met de goede code.

Ik ben er dan ook geen expert in.
 
Het was ook geen verwijt maar een aanvulling, zeg maar! :)
 
Dag Excelamateur en Cobbe, bedankt voor jullie oplossingen. Deze werken nu goed qua nummering. Alleen wanneer ik op de macro klik en er niet in de lijst gefilterd is op DPL-LT en er dus ook "vreemde" rijen tussen staan, dan gaat hij doortellen op de laatste regel.

Dus als er 100 regels zijn met een mix van DPL-LT, DPL-DT, DPL-LT, DPL-SP en de laatste heet toevallig DPL-SP-15, dan maakt deze macro een nieuwe regel eronder met DPL-LT-16. Hoe kan ik de macro zo aanpassen dat deze altijd opnummert van de laatste relevante regel?

Dank alvast.

Groet,
Ferry
 
Wij hebben geantwoord op de vraag die gesteld was.
Indien jij de spelregels zomaar wijzigt blijf je natuurlijk bezig.
Hoe moeten wij weten wat jij denkt dat er moet gebeuren?
 
Dag Cobbe, ik meen dat ik die opmerking ook in mijn eerste vraag gemaakt heb. maakt niet uit, ik sluit deze af, ben er erg tevreden over.

Zoek nog even verder naar de mogelijkheden en als ik er niet uitkom,... dan is een nieuwe vraag zo gesteld.

Nogmaals bedankt.

groet,
Ferry
 
Ik heb nog wat zitten puzzelen, vertel er wel bij dat ik van VBA erg weinig weet.
Veel dingen probeer ik uit of neem het op en tracht het in te korten en veel zoeken op de div. forums.

Kom je hier wat verder mee?
Code:
Sub actie_toevoegen()
  rij = Range("A65000").End(xlUp).Row
  nummer = Right(Cells(rij, 1), 2)
  A = Left(ActiveCell.Text, 7)
  Cells(rij + 1, 1) = A & Format(nummer + 1, "000")
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan