datum error

Status
Niet open voor verdere reacties.

uterie

Gebruiker
Lid geworden
10 sep 2015
Berichten
21
beste,

in 2014 heb ik een formulier gemaakt om overdrachten te maken.
bij de start word er gevraagd om de datum in te vullen
daarvoor heb ik volgende code gebruikt

SpnDag.Value = Day(Date)
SpnMaand.Value = Month(Date)
SpnJaar.Value = Year(Date)
txtDag.Value = SpnDag.Value
TxtMaand.Value = SpnMaand.Value
TxtJaar.Value = SpnJaar.Value

wanneer ik het formulier opstart krijg ik de melding ongeldige waarde. Als ik SpnJaar.Value niet activeer lukt het me wel maar stel ik vast dat ik het jaar na 2020 niet meer vind.

Wat is de oorzaak hiervan en hoe kan ik dit oplossen.

alvast bedankt
 
Plaats een voorbeeld document.
 
Wellicht vraag je de waarde van SpnJaar voordat deze variable z'n waarde gekregen heeft. (textvak? Variable Date? combobox?)

En dan zal je iets hebben als:

Code:
Dim SpnJaar as Long
SpnJaar = Null  'En dat kan natuurlijk niet

Maar zoals eerder gezegd: plaats een voorbeeld, want voor ons is het nu koffiedik kijken.
 
Wat staat er ingesteld als Min en Max waarden voor die SpinButton?
 
Beste,

het lukt niet om een foto toe te voegen,

hieronder de voledige werking van het formulier.
bij de SpnJaar.Value gaat het fout en een jaar na 2020 vind hij niet.
Het programma werkte nochtans


Code:
Dim txtBereikuitbating As String
Dim txtCodesBereik As String
Dim txtBereikartikel As String
Dim aantalrijen As Integer
Dim i As Integer

Code:
Private Sub Label7_Click()

End Sub

Code:
Private Sub UserForm_Initialize()

    SpnDag.Value = Day(Date)
    SpnMaand.Value = Month(Date)
    SpnJaar.Value = Year(Date)
    txtDag.Value = SpnDag.Value
    TxtMaand.Value = SpnMaand.Value
    TxtJaar.Value = SpnJaar.Value
    
    txtBereikuitbating = "Extra!Uitbatingsnummers"
    CMBUitbatingsnummers.RowSource = txtBereikuitbating
    txtBereikartikel = "Cataloog!Artikellijst"
    
    cmbomschrijving1.RowSource = txtBereikartikel
    cmbomschrijving2.RowSource = txtBereikartikel
    cmbomschrijving3.RowSource = txtBereikartikel
    cmbomschrijving4.RowSource = txtBereikartikel
    cmbomschrijving5.RowSource = txtBereikartikel
    cmbomschrijving6.RowSource = txtBereikartikel
    cmbomschrijving7.RowSource = txtBereikartikel
    cmbomschrijving8.RowSource = txtBereikartikel
    cmbomschrijving9.RowSource = txtBereikartikel
    cmbomschrijving10.RowSource = txtBereikartikel
    
End Sub
Code:
Private Sub SpnDag_Change()
    txtDag.Value = SpnDag.Value
End Sub

Code:
Private Sub SpnJaar_Change()
    TxtJaar.Value = SpnJaar.Value
End Sub
Code:
Private Sub SpnMaand_Change()
    TxtMaand.Value = SpnMaand.Value
End Sub
Code:
Private Sub CMBUitbatingsnummers_change()

    Dim rijnummer As Integer
    
    rijnummer = CMBUitbatingsnummers.ListIndex + 1
    TXTUitbating.Value = Range(txtBereikuitbating).Cells(rijnummer, 2)
End Sub
Code:
Private Sub cmbomschrijving1_Change()
    Dim rijnummer As Integer

    rijnummer = cmbomschrijving1.ListIndex + 1
    txtleverancier1.Value = Range(txtBereikartikel).Cells(rijnummer, 4)
    txtcodelev1.Value = Range(txtBereikartikel).Cells(rijnummer, 3)
    txtleveenh1.Value = Range(txtBereikartikel).Cells(rijnummer, 11)
    txteenheid1.Value = Range(txtBereikartikel).Cells(rijnummer, 12)
End Sub
Code:
Private Sub cmbomschrijving2_Change()
    Dim rijnummer As Integer

    rijnummer = cmbomschrijving2.ListIndex + 1
    txtleverancier2.Value = Range(txtBereikartikel).Cells(rijnummer, 4)
    txtcodelev2.Value = Range(txtBereikartikel).Cells(rijnummer, 3)
    txtleveenh2.Value = Range(txtBereikartikel).Cells(rijnummer, 11)
    txteenheid2.Value = Range(txtBereikartikel).Cells(rijnummer, 12)
End Sub
Code:
Private Sub cmbomschrijving3_Change()
    Dim rijnummer As Integer

    rijnummer = cmbomschrijving3.ListIndex + 1
    txtleverancier3.Value = Range(txtBereikartikel).Cells(rijnummer, 4)
    txtcodelev3.Value = Range(txtBereikartikel).Cells(rijnummer, 3)
    txtleveenh3.Value = Range(txtBereikartikel).Cells(rijnummer, 11)
    txteenheid3.Value = Range(txtBereikartikel).Cells(rijnummer, 12)
End Sub
Code:
Private Sub cmbomschrijving4_Change()
    Dim rijnummer As Integer

End Sub
Code:
Private Sub CMBVerwerken_Click()
Dim i As Integer

Application.ScreenUpdating = False

Worksheets("TransferFood").Activate
Range("A1").Select
If Range("A2") = "" Then
    Range("A2").Select
Else
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Range("A1").Select
End If
aantalrijen = Range(txtBereikartikel).Rows.Count
For i = 1 To aantalrijen
Select Case i

    Case 1
        ActiveCell.Value = DateValue(txtDag & "/" & TxtMaand & "/" & TxtJaar)
        ActiveCell.Offset(0, 1).Value = CMBUitbatingsnummers.Value
        ActiveCell.Offset(0, 2).Value = txtcodelev1.Value
        ActiveCell.Offset(0, 3).Value = txtgeleverd1.Value
        ActiveCell.Offset(0, 4).Value = txtleverancier1.Value
        ActiveCell.Offset(0, 5).Value = cmbomschrijving1.Value
        ActiveCell.Offset(0, 6).Value = txtleveenh1.Value
        ActiveCell.Offset(0, 7).Value = txteenheid1.Value
        ActiveCell.Offset(1, 0).Select
        
    Case 2
        ActiveCell.Value = DateValue(txtDag & "/" & TxtMaand & "/" & TxtJaar)
        ActiveCell.Offset(0, 1).Value = CMBUitbatingsnummers.Value
        ActiveCell.Offset(0, 2).Value = txtcodelev2.Value
        ActiveCell.Offset(0, 3).Value = txtgeleverd2.Value
        ActiveCell.Offset(0, 4).Value = txtleverancier2.Value
        ActiveCell.Offset(0, 5).Value = cmbomschrijving2.Value
        ActiveCell.Offset(0, 6).Value = txtleveenh2.Value
        ActiveCell.Offset(0, 7).Value = txteenheid2.Value
        ActiveCell.Offset(1, 0).Select
        
    Case 3
        ActiveCell.Value = DateValue(txtDag & "/" & TxtMaand & "/" & TxtJaar)
        ActiveCell.Offset(0, 1).Value = CMBUitbatingsnummers.Value
        ActiveCell.Offset(0, 2).Value = txtcodelev3.Value
        ActiveCell.Offset(0, 3).Value = txtgeleverd3.Value
        ActiveCell.Offset(0, 4).Value = txtleverancier3.Value
        ActiveCell.Offset(0, 5).Value = cmbomschrijving3.Value
        ActiveCell.Offset(0, 6).Value = txtleveenh3.Value
        ActiveCell.Offset(0, 7).Value = txteenheid3.Value
        ActiveCell.Offset(1, 0).Select
    
        
        
    End Select
Next i


Worksheets("UZG").Activate
Unload Me

Application.ScreenUpdating = True

End Sub
Code:
Private Sub CMBAnnuleren_Click()

Worksheets("UZG").Activate
Unload Me

End Sub

alvast bedankt
 
Laatst bewerkt door een moderator:
Er wordt ook niet om een foto gevraagd maar om een voorbeeld Excel bestand.
Die code helpt niet bij het zoeken naar de oorzaak.
Ook geeft het geen antwoord op m'n vraag in #4.
 
En zet vooral je code tussen CODE tags, want dit is geen doen zo qua scrollen.
 
In de brei van tekst mijn best gedaan om het tussen code tags te zetten.
 
Ik zag alleen een tekstbrij.
 
@uterie,

Zoals eerder al gevraagd: je zou er echt beter aan doen om een bestandje te posten.
Niet zomaar eventjes de code, of een deel van de code, want daardoor vraag je ons eigenlijk om het ganse bestand opnieuw op te bouwen, en zo te kijken waar het fout loopt.
En zo we het al zelf opbouwen, dan hebben we nog altijd niet de garantie dat het probleem in de code zit, en is alle werk dus voor niets gedaan.

dus... je weet wat je te doen staat :)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan