• 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.

autonummering

Status
Niet open voor verdere reacties.

Spiesse

Gebruiker
Lid geworden
14 jul 2011
Berichten
902
beste,

daar ik al een paar topics zie over nummering voeg ik er graag nog eentje aan toe...

Via de volgende code bekom ik een automatische nummering:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'If Target.Cells.Count > 1 Then Exit Sub
  If Not Intersect(Target, Range("b2:b2000")) Is Nothing Then
    Target.Offset(, -1).Value = Target.Offset(-1, -1).Value + 1
End If
End Sub

dit gebeurt netjes ALS alle cellen elkaar opvolgen...

wat zou ik nu als extraatje aan deze macro willen:

als ik bv 20 regels onder de laatste opnieuw begin in te voeren, dat er verdergeteld wordt... dus niet opnieuw, wat de macro momenteel wel doet...

dus er zou moeten gezocht worden naar de laatste nummering en dan verdertellen...

ik vraag dit of zoek naar deze aanpassing omdat in de tabel moeten kunnen gesorteerd worden op verschillende kolommen ed...

Ik hoop dat ik een beetje duidelijk ben? :)

Bekijk bijlage autonummering.xlsm

groeten,
spiesse
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'If Target.Cells.Count > 1 Then Exit Sub
  If Not Intersect(Target, Range("b2:b2000")) Is Nothing Then
    Target.Offset(, -1).Value = WorksheetFunction.Max(Range("A2:A2000")) + 1
End If
End Sub

Niels
 
Hey niels28,

that's it!

stom dat zulke kleine woorden zoveel kunnen doen in een macro e :)

ik sluit deze ;)

spiesse
 
euh hier ben ik al terug...

zou het mogelijk zijn om aan te passen dat als de titel veranderd de target onveranderd blijft?
in de nieuwe test is het zo dat als de b kolom veranderd, dat ook het nr veranderd...
dit zou niet mogen want anders zit ik terug met gaten in mijn klassement...

groeten
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("b2:b2000")) Is Nothing Then Target.Offset(, -1)= columns(2).specialcells(2).count
End Sub
 
hey snb,

wordt het dan deze?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("b6:b2000")) Is Nothing Then Target.Offset(, -1) = Columns(2).SpecialCells(2).Count
  If Not Intersect(Target, Range("b6:b2000")) Is Nothing Then
    Target.Offset(, -1).Value = WorksheetFunction.Max(Range("A2:A2000")) + 1
End If
End Sub
 
wat bedoel je met titel? Deze laat je toch buiten je target bereik?
De macro van snb alleen is voldoende.

Niels
 
niels, ik heb me misschreven blijkbaar...

Ik wou bedoelen: als ik de b-kolom verander van celinhoud, of de celinhoud verwijder... (in het bestand gaat het over een titel van een opleiding)

spiesse
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan