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

FOUTMELDING BIJ INVOER

dabber09

Gebruiker
Lid geworden
2 nov 2011
Berichten
68
1732695382365.png
1732696008627.png


Hallo

Ik heb deze invulfile gemaakt en werkt best wel goed , er is alleen een "bug"in.
Als ik normaal getallen invul gaat alles prima en ook bv F31MCXA317N werkt ook.
We hebben artikelen die beginnen met een N code (kortinggroep) en die soms niet werken niet.
Zie bv boven N117-4009.
Als ik N626-4086 doe die werkt wel weer.
Foutcode zie boven.
Wat is er verkeerd dat de getallen van N117- niet funtioneren.

gr Henk
 

Bijlagen

  • 1732695408550.png
    1732695408550.png
    11,6 KB · Weergaven: 16
@dabber09, plaats je bestandje hier, zonder gevoelige info, dan zal je wel verder geholpen worden.
 
Begin eens met alle lege regels te verwijderen uit werkblad Silvasoft.
En bestudeer dan eens deze functie:
Code:
Private Sub txtOms_Change()

With Sheets("Silvasoft")
        wRow = Application.Match(txtSil, .Range("C1", .Range("C" & .Rows.Count).End(xlUp)), 0)
        If Not IsError(wRow) Then
            txtOms = .Cells(wRow, 6)
        Else
            txtArt.SetFocus
        End If
     End With
 
End Sub
Als txtOms gewijzigd wordt en txtSil wordt gevonden dan wordt txtOms gewijzigd en zit je dus in een oneindige loop.
 
probeer het eens zo.
verwijder de code Private Sub txtSil_Change() en Private Sub txtOms_Change()
En wijzig txtArt_Change in:
Code:
Private Sub txtArt_Change()

 With Sheets("Silvasoft")
        wRow = Application.Match(txtArt, .Range("a1", .Range("a" & .Rows.Count).End(xlUp)), 0)
        If Not IsError(wRow) Then
            txtSil = .Cells(wRow, 3)
            txtOms = .Cells(wRow, 6)
            txtAnt.SetFocus
        Else
            txtArt.SetFocus
        End If
    End With
End Sub
 
Lijkt dit niet erg op het uitvinden van validation of een combox als dropdownlist ?
 
1732959551242.png
1732959949566.png

Het werkt behalve als ik getallen met bv 003N2105 wil invullen dan wordt bij Silnr en Omschrijving meteen al 0 ingevuld en sprint het naar aantallen.
We hebben ook artikelen die beginnen met 003N of 027N en bij die gaat het dan fout.
Hoe moet ik dit dan oplossen
 
Bij mij werkt het gewoon, plaats aub het bestand waar het volgens jou niet werkt.
 
Ik heb het Change event van Omschrijving uitgeschakeld want ik begrijp niet goed wat je hiermee wil bereiken. Van bv. Waterregelventiel heb je 14 omschrijvingen dus hoelang moet je typen alvorens je hier een unieke waarde gaat tegenkomen.

De rest heb ik aangepast zodat het onder elke omstandigheid werkt. Je kan dus zoeken op Art. - of Silnummer en de rest wordt dan automatisch aangevuld.
 

Bijlagen

hallo, Heb deze uitgeprobeert en voldoet aan mijn vraag.
knop voor leegmaken was leegmaken van het excel blad 1 maar deze hebik erbij gemaakt en de knop leegmaken (invoerbox) heb ik gelaten die is ook goed.
Verder heb ik toch nog een vraagje.
Ik ben de file aan het aanpassen zodat men verplicht is een naam in te vullen
Als je op volgende drukt dan verschijnt het formulier maar het formulier naam invullen blijft open staan , hoe kan ik dat maken dat deze na het openen van het juiste invulbox de invulbox (met naam invullen) dan sluit?

1733051736695.png
1733051904843.png
 
voor de knop volgende
Code:
Unload Me
frmArtikelen.Show
 
Of zonder extra formulier
code in frmArtikelen aanpassen:
Code:
Private Sub cmdInvoeren_Click()
If cmbxMenu = "" Then
    MsgBox "selecteer eerst een medewerker"
    cmbxMenu.DropDown
    Exit Sub
End If

    Blad1.Range("A1000").End(xlUp).Select
    Selection.Offset(1, 0).Select
    
    Selection = txtArt.Value
    Selection.Offset(0, 3) = txtAnt.Value
          
  ' If obtnbestellen.Value = True Then
            
   '   Selection.Offset(0, 5) = "Bestellen"
   ' Else
        
      'Selection.Offset(0, 5) = "Verbruikt"
    
'End If
    
    txtArt.Value = ""
    txtAnt.Value = ""
    txtSil.Value = ""
    txtOms.Value = ""
    
    txtArt.SetFocus
End Sub
 
Gooi die Select en Selection er dan ook in 1keer uit.

Code:
Private Sub cmdInvoeren_Click()
    If cmbxMenu = vbNullString Then
        MsgBox "selecteer eerst een medewerker"
        cmbxMenu.DropDown
        Exit Sub
    End If
    
    With Blad1.Range("A1000").End(xlUp)
        .Offset(1) = UCase(txtArt.Value)
        .Offset(1, 3) = txtAnt.Value
    End With

    txtArt.Value = ""
    txtAnt.Value = ""
    txtSil.Value = ""
    txtOms.Value = ""
    txtArt.SetFocus
End Sub
 
Terug
Bovenaan Onderaan