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

userform met automatisch volgende projectnummer

Status
Niet open voor verdere reacties.

wernervanstrien

Gebruiker
Lid geworden
27 jun 2013
Berichten
93
Beste mensen die het weten,

Graag zou ik een oplossing willen voor het volgende: op het bedrijf waar ik werk, wordt projectmatig gewerkt en ieder project krijgt een nieuw nummer. Nu wil ik graag een userform maken, waarin automatisch als eerste het nieuwe projectnummer wordt getoond, waarna de rest van de velden in de form kunnen worden aangevuld met de benodigde gegevens. Daarna moeten de gegevens in een volgende lege rij worden weggeschreven volgend op het vorige projectnummer.

Is dat mogelijk?

Graag reactie en dank bij voorbaat.

Groet,

Werner
 
Laatst bewerkt:
Dat zal best mogelijk zijn, maar met een voorbeeld document heb je een veel grotere kans op een goed antwoord.
 
Beste edmoor, het is nieuw voor mij zo een manier van vragen stellen. Goed dat je het aangeeft. Ik ga er voor zorgen en zal het zsm hiero plaatsen. Dank voor je reactie.
 
Ik zie net dat je vandaag geregistreerd heb.
Welkom en succes met je vraag :)
 
Bekijk bijlage Projecten.xlsx

Bijgevoegde simpele opzet van wat het formulier moet aanmaken, echter dan dus zo, dat in het forumlier automatisch het volgende nummer zichtbaar is en dus ook gebruikt wordt om door te voeren. Wanneer doorgevoerd dan zou dat nieuwe nummer met alle bijbehorende ingevulde velden in een nieuwe rij moeten komen.

Graag reactie, bij voorbaat dank.

Groet,

W.
 
Edmoor. Als ik na een aantal dagen niks hoor, kan ik er dan vanuitgaan dat er geen reactie meer komt? En is wat ik in mijn laatste blok schreef, de manier om te presenteren?

Graag reactie, Groet, Werner
 
Kennelijk heeft nog niemand een oplossing voor je vraag gezien. Ik heb er nog niet naar gekeken maar zal dat vanavond eens doen.
Dat is geen garantie voor een oplossing overigens ;)
Er zijn hier mensen die beter met Excel overweg kunnen dan ik.
 
Laatst bewerkt:
NB. Pas het pad (in dit voorbeeld 'G:\OF\' ) aan naar jouw situatie
Iedere keer als het userform wordt geopend wordt het projektnummer met 1 verhoogd.
Met deze methode kunnen verschillende mensen tegelijkertijd met nieuwe projektnummers werken.

Code:
Private Sub Userform_Initialize()
    c00 = "G:\OF\"
    c01 = Dir(c00 & "*.snb")
    
    If c01 = "" Then
        Open c00 & "1.snb" For Output As #1
        Close
        c02 = 1
    Else
        c02 = 1 + Val(c01)
        Name "G:\OF\" & c01 As "G:\OF\" & c02 & ".snb"
    End If
    caption="nummer " & c02
End Sub
 
Laatst bewerkt:
Snb,

Mijn dank is groot. Ik ga het implementeren. Mocht ik ergens tegenaan lopen, dan hoop ik dat je me nogmaals verder kan helpen.

Groet,

Werner
 
Of als het nummer uit de kolom op je werkblad moet komen.
Code:
Private Sub Userform_Initialize()
    With Sheets("Projecten " & Year(Date))
        TextBox1.Text = WorksheetFunction.Max(.Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)) + 1
    End With
End Sub

Voor een meer gericht antwoord is het aan te raden een voorbeeldbestand met je userform in hier te posten.
 
NB. Pas het pad (in dit voorbeeld 'G:\OF\' ) aan naar jouw situatie
Iedere keer als het userform wordt geopend wordt het projektnummer met 1 verhoogd.
Met deze methode kunnen verschillende mensen tegelijkertijd met nieuwe projektnummers werken.

Dit moet ik veranderen in het complete pad naar de map, waarin het bestand staat, inclusief de naam van het bestand?
 
Bekijk bijlage HollandSports Admin Totaal.xlsm

Zie de bezigheden van mij tot nog toe in tabblad 'Projecten'. Het is allemaal nog maar begin, maar iedere reis begint met een eerste stap. Heb bovenstaande zaken nog niet geïmplementeerd, mede door het feit dat ik het ook wil begrijpen en niet zomaar wil knippen en plakken.

Misschien op basis van dit bijgevoegd bestand iemand die één en ander kan verfijnen?

Groet en dank maar weder ...

WvS
 
Je hoeft alleen maar "G:\OF\" te wijzigen naar een voor jou geldig pad.
 
Code:
Private Sub Userform_Initialize()
    
    With Sheets("Projecten")
        txtProjNr.Text = WorksheetFunction.Max(.Range("B2:B" & .Cells(.Rows.Count, 2).End(xlUp).Row)) + 1
    End With
    
End Sub

Private Sub cmdSubmit_Click()
    
    With Sheets("Projecten")
       .Range("A" & .Rows.Count).End(xlUp)(2).Resize(, 4) = Array(txtProjNaam.Text, txtProjNr.Text, txtProjLand.Text, txtAanmaakDatum.Text)
    End With

End Sub

Private Sub cmdClearFields_Click()
    
    For Each ctl In Controls
        If TypeName(ctl) = "TextBox" Then
            ctl.Text = vbNullString
        End If
    Next

End Sub
 
Neem mijn tekst letterlijk: een geldig pad op jouw computer. Verder hoef je je nergens druk over te maken, dat doet de macro voor je.
 
Begin bij het begin: een goed VBA boek.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan