Vraag


  • Nightblaze
  • Registratie: Mei 2015
  • Laatst online: 25-02-2018
Ik heb voor mijn studie een stage gevolgd waarin ik een stageproject heb om een werkend voorraadsysteem te maken.
Nou heb ik de meeste functies er al werkend in gekregen met behulp van google, alleen één van de belangrijke functies krijg ik maar niet aan de praat.

Ik heb dus een voorraadsysteem in Excel gemaakt waarmee ik dus ook een knop heb ingevoerd waar ik een macro aan heb gehangen die er voor zou moeten zorgen dat ik alle product informatie meteen kan zien zodra ik de barcode invoer.
Wat er nu dus gebeurt is dat als ik de macro uitvoer hij helemaal niks laat zien, ik krijg een melding waarmee ik de barcode kan invoeren maar krijg daarna geen msgbox met resultaten en ook geen error; er gebeurt gewoon helemaal niks.

De volgende code in mijn macro is dit:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub Productinformatie()
On Error GoTo MyErrorHandler:
Dim Barcode As Long
Barcode = InputBox("Vul een barcode in :")
Det = "Barcode : " & Application.WorksheetFunction.VLookup(Barcode, Sheet2.Range("A2:E3500"), 1, False)
Det = Det & vbNewLine & "Naam : " & Application.WorksheetFunction.VLookup(Barcode, Sheet2.Range("A2:E3500"), 2, False)
Det = Det & vbNewLine & "Type : " & Application.WorksheetFunction.VLookup(Barcode, Sheet2.Range("A2:E3500"), 3, False)
Det = Det & vbNewLine & "Voorraad : " & Application.WorksheetFunction.VLookup(Barcode, Sheet2.Range("A2:E3500"), 4, False)
Det = Det & vbNewLine & "Kosten : " & Application.WorksheetFunction.VLookup(Barcode, Sheet2.Range("A2:E3500"), 5, False)
MsgBox "Productinformatie : " & vbNewLine & Det
Exit Sub
MyErrorHandler:
If Err.Number = 1004 Then
  MsgBox "De ingevulde barcode is geen bekende barcode"
ElseIf Err.Number = 13 Then
  MsgBox "U heeft een niet geldige barcode ingevoerd"
End If
End Sub


Als iemand met wat meer verstand van VBA hier even naar kan kijken zou ik het zeer op prijs stellen.

Beste antwoord (via Nightblaze op 22-02-2018 13:30)


  • breew
  • Registratie: April 2014
  • Laatst online: 18:51
eerste gokje:
Een inputbox geeft een Variant terug, doorgaans Text.. ook als je een cifer invult...
https://msdn.microsoft.co...ion-inputbox-method-excel

Je hebt Barcode gedimensioneerd als long (of string).... does not compute ;)
probeer eens
Dim barcode as Variant


Gokje 2
vervang "Sheet2" eens voor "Activeworkbook.sheets(2)" (als je ten minste het tweede werkblad nodig hebt)

Alle reacties


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Pas je errorhandler aan zodat bij andere codes de code wordt getoond. Dan weet je wat er speelt. Nu weet je alleen dat het geen code 13 of 1004 is.

Ondertussen verplaats ik je topic van WOS naar CSA omdat het niet over Windows als OS gaat.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • Unusable
  • Registratie: Juli 2015
  • Laatst online: 28-07 21:46
Hoi Nightblaze,

1. Zet onder regel 16 even de volgende code neer: "Else: MsgBox (Err.Description)"
2. Bestaat "Sheet2" wel?
3. Ga er even met F8 door je code heen. Als je met F8 door je code heen gaat dan zie je ook de waardes die je expressions krijgen.

Succes!

  • Nightblaze
  • Registratie: Mei 2015
  • Laatst online: 25-02-2018
F_J_K schreef op donderdag 22 februari 2018 @ 11:12:
Pas je errorhandler aan zodat bij andere codes de code wordt getoond. Dan weet je wat er speelt. Nu weet je alleen dat het geen code 13 of 1004 is.

Ondertussen verplaats ik je topic van WOS naar CSA omdat het niet over Windows als OS gaat.
Unusable schreef op donderdag 22 februari 2018 @ 11:38:
Hoi Nightblaze,

1. Zet onder regel 16 even de volgende code neer: "Else: MsgBox (Err.Description)"
2. Bestaat "Sheet2" wel?
3. Ga er even met F8 door je code heen. Als je met F8 door je code heen gaat dan zie je ook de waardes die je expressions krijgen.

Succes!
Ik heb beide opties even geprobeerd (stom dat ik hier overheen keek trouwens 8)7 ).
En krijg nu als ik mijn "dim barcode" op as long heb staan een error met : Error 6 overflow op regel 4
En als ik de "dim barcode" verander naar string krijg ik error 424 object required op regel 5
(ik had de variabele eerst even op Long gezet om te testen, want er zitten ook barcodes tussen met tekst)

Dus veel verder ben ik alsnog niet.

Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 18:51
eerste gokje:
Een inputbox geeft een Variant terug, doorgaans Text.. ook als je een cifer invult...
https://msdn.microsoft.co...ion-inputbox-method-excel

Je hebt Barcode gedimensioneerd als long (of string).... does not compute ;)
probeer eens
Dim barcode as Variant


Gokje 2
vervang "Sheet2" eens voor "Activeworkbook.sheets(2)" (als je ten minste het tweede werkblad nodig hebt)

  • Nightblaze
  • Registratie: Mei 2015
  • Laatst online: 25-02-2018
breew schreef op donderdag 22 februari 2018 @ 13:09:
eerste gokje:
Een inputbox geeft een Variant terug, doorgaans Text.. ook als je een cifer invult...
https://msdn.microsoft.co...ion-inputbox-method-excel

Je hebt Barcode gedimensioneerd als long (of string).... does not compute ;)
probeer eens
Dim barcode as Variant


Gokje 2
vervang "Sheet2" eens voor "Activeworkbook.sheets(2)" (als je ten minste het tweede werkblad nodig hebt)
Top, gokje 2 heeft het opgelost.
Het ging inderdaad om mijn benoeming voor sheet2, na jouw suggestie om dit te hernoemen kreeg ik alle opgevraagde informatie.
Pagina: 1