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

Probleem met script in excel

Status
Niet open voor verdere reacties.

stefan3189

Gebruiker
Lid geworden
25 feb 2008
Berichten
173
Goedemorgen! Ik zit even met een vraagje. Een collega van mij heeft in Excel een soort programma gemaakt waarmee je serienummers kunt aanmaken voor goederen. Maar nu moest die collega per direct weg en heb ik dit op mn bord gekregen maar ik kom er niet helemaal uit.

Het is namelijk de bedoeling dat een serienummer alsvolgt word weergegeven: MP7-215.
Hierbij staat MP voor pomp, de 7 voor de maand, en 215 is het volgnummer zeg maar.
Het script wat daarvoor gemaakt is is dit:

Code:
Sub NextSerialNumberPumps()

    Dim Maand As Integer
    Dim Antwoord As Integer
    Antwoord = MsgBox("Heb je de juiste cel aangeklikt?", vbOKCancel, "Nieuwe serienummer Pomp")
    If Antwoord = 2 Then
        GoTo gaweg
    End If
    Maand = Range("AD1").Value
    If Maand <> Mid$(Date, 4, 2) Then
        Range("AD1").Value = Mid$(Date, 4, 2)
        Range("AC1").Value = 0
    End If
    Range("AC1").Value = Range("AC1").Value + 1
    ActiveCell.FormulaR1C1 = "MP" & Mid$((Date), 4, 2) & Mid$((Date), 9, 2) & Range("AC1").Value
    ActiveCell.Offset(0, 1).Select 'spring naar de volgende cel
gaweg:
End Sub


Nu is mijn probleem dat in het serie nummer de 7, die voor de maand staat, niet altijd automatisch ingevoerd word.

Kan iemand mij hier mee helpen om de hout te vinden??

Bij voorbaat dank!
En als er vragen zijn hoor ik dat graag!
 
Laatst bewerkt:
In plaats van het Mid$(Date verhaal kun je beter het volgende gebruiken:
Dagnummer: Day(date)
Maandnummer: Month(date)
Jaarnummer: Year(Date)

Voor het jaar zonder de eeuw kun je dit gebruiken:
Right(Year(Date),2)
 
Laatst bewerkt:
Mijn vraag: kun je svp VBA code tussen codemarkeringen zetten ?

Zoals hier:

Code:
sub M_snb()
   msgbox format(date,"\MPm-") & Range("AC1").value
  Range("AC1").value=Range("AC1").value+1
end sub
 
Laatst bewerkt:
Als aanvulling op mijn vorige reactie en in antwoord op snb zou ik er zoiets van maken:

Code:
Sub NextSerialNumberPumps()
    Dim Maand As Integer
    Dim Antwoord As Integer
    Antwoord = MsgBox("Heb je de juiste cel aangeklikt?", vbOKCancel, "Nieuw serienummer Pomp")
    If Antwoord = 2 Then Exit Sub

    Maand = Range("AD1").Value
    If Maand <> Month(Date) Then
        Range("AD1").Value = Month(Date)
        Range("AC1").Value = 0
    End If

    Range("AC1").Value = Range("AC1").Value + 1
    ActiveCell.FormulaR1C1 = "MP" & Month(Date) & Right(Year(Date), 2) & "-" & Range("AC1").Value
    ActiveCell.Offset(0, 1).Select 'spring naar de volgende cel
End Sub

Zo is ook de overbodige GOTO eruit, alsmede de taalfout.
 
Laatst bewerkt:
Heel erg bedankt voor de reacties! En Edmoor bedankt voor de aanpassing in het script. Daar ga ik mee aan de slag!!

Nogmaals bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan