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

Random nummer macro

Status
Niet open voor verdere reacties.

mause01

Gebruiker
Lid geworden
19 okt 2012
Berichten
75
Hallo,

Ik heb een knop(macro) random nummer in mijn form.

Deze werkt perfect als ik 2 of meer regels invul in kolom B.
nu wil ik ook in staat zijn om 1 regel in te vullen zonder dat alle andere regels (1,2,3,4,5,6) aangepast worden met waarde.

Code:
Sub RandomNR()

Range("B7:B" & Cells(Rows.Count, 2).End(xlUp).Row).SpecialCells(xlCellTypeConstants).Offset(, 1).Formula = "=randbetween(100000,999999)"

End Sub

Uitkomst wanneer 1 regel (7) wordt ingevuld.
random.JPG

Hoe pas ik dit aan ?
 
hmnee. Niet duidelijk wat je bedoelt.
Voeg om te beginnen eens een excelvoorbeeld bij in plaats van een plaatje.
 
Beste Timshel,

Hierbij een voorbeeld Exel
Bekijk bijlage TEST.xlsx

Als ik in kolom B7 een waarde zet en dan op de knop Random numbers klik gaat het fout.
Als ik in kolom B7 & B8 of lager in het kolom iets zet gaat het goed.
 
Specialcells reageert onverwacht indien toegepast op een enkelvoudige cel.
Ik heb er geen verklaring voor, wel een oplossing:
Code:
Sub RandomNR()
    Range("B7:B10000").SpecialCells(xlCellTypeConstants).Offset(, 1).Formula = "=randbetween(100000,999999)"
End Sub
 
Helpt deze u vooruit?
=Formula plaatst een formule in je cel en vermits dit een Aselect-opdracht is wordt die bij elke wijziging en/of klik herberekend.

Code:
Sub RandomNR()
  ActiveCell.Offset(, 1) = Int((1000000 * Rnd) + 1)
End Sub

Reageert op de actieve cel.
 
Laatst bewerkt:
Beste Cobbe,

Helaas kan ik daarmee niet werken.
omdat de cell voor het veld dan geselecteerd dient te zijn.

Het nummer moet echt in kolom C terecht komen, en enkel als er een waarde in de cel er voor staat in kolom B.

Sorry.
 
Specialcells reageert onverwacht indien toegepast op een enkelvoudige cel.
Ik heb er geen verklaring voor, wel een oplossing:
Code:
Sub RandomNR()
    Range("B7:B10000").SpecialCells(xlCellTypeConstants).Offset(, 1).Formula = "=randbetween(100000,999999)"
End Sub

Beste Timshel,

Dit is perfect thanks. SOLVED
 
@Timshel

Door het plaatsen van een aselectformule in de cellen worden die toch telkens weer herberekend,
en in de vraag zat toch vervat dat dit niet mocht plaatsvinden.
 
Mee eens. We wachten maar af of TS nog terugkomt.
 
Ook ik begrijp niet waartoe deze excercitie zou kunnen dienen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan