Vlookup in userform geeft problemen

Status
Niet open voor verdere reacties.

SjonR

Verenigingslid
Lid geworden
10 nov 2016
Berichten
3.279
Ik gebruik de volgende code om drie textboxen in een userform te vullen. Dit werkt perfect als er een registratienummer wordt ingevoerd met format

XX12345678

Er staan echter ook registratienummers met louter getallen in.

1234567890.

Bij deze gevallen geeft het een foutmelding en sluit excel zich af.

Ik heb al geprobeerd Clng in de code te gebruiken. Dan draait het probleem zich om en krijg ik een foutmelding bij de registratienummers met twee letters er in.

Hoe kan ik dit oplossen?

Update: met registratienummer 1000000000 doet ie het wel. zijn de andere nummers te groot of zoiets.




Code:
 Private Sub Reg1_AfterUpdate()
 
 If WorksheetFunction.CountIf(Blad2.Range("A:A"), Me.reg1.Value) = 0 Then
 MsgBox "Dit GVA-nummer staat niet in de lijst"
 Me.reg1.Value = ""
 Exit Sub
 End If

 With Me
    .reg2 = Application.WorksheetFunction.VLookup((Me.reg1), Blad2.Range("zoek"), 2, 0)
    .reg3 = Application.WorksheetFunction.VLookup((Me.reg1), Blad2.Range("zoek"), 3, 0)
    .reg4 = Application.WorksheetFunction.VLookup((Me.reg1), Blad2.Range("zoek"), 4, 0)
 End With
 
Laatst bewerkt:
Isnumeric is de truc.

De code iets sneller gemaakt met door een array en Match.
Code:
Private Sub Reg1_AfterUpdate()
 reg1.Value = UCase(reg1.Value)
 If WorksheetFunction.CountIf(Blad2.Range("A:A"), reg1.Value) = 0 Then
     MsgBox "Dit GVA-nummer staat niet in de lijst"
     reg1.Value = ""
    Exit Sub
Else
 With Blad2.Cells(1).CurrentRegion
  sn = .Value
  sq = .Columns(1).Value
[COLOR=#0000ff]    If IsNumeric(reg1) Then[/COLOR]
[COLOR=#0000ff]       rw = Application.Match(Val(reg1), sq, 0)[/COLOR]
[COLOR=#0000ff]     Else[/COLOR]
[COLOR=#0000ff]       rw = Application.Match(reg1, sq, 0)[/COLOR]
[COLOR=#0000ff]     End If[/COLOR]
       reg2 = sn(rw, 2)
       reg3 = sn(rw, 3)
       reg4 = sn(rw, 4)
    End With
 End If
 End Sub
 
Bedankt, ik ga het morgenochtend proberen.
 
Dat kan veel robuuster met een combobox en een frame.
 
Laatst bewerkt door een moderator:
@ Harry,

werkt perfect.

@SNB

Werkt niet zoals ik het wil, want nu zou ik de hele lijst moeten doorscrollen.

Allebei bedankt voor de oplossing.

Gr.

Sjon
 
Bestudeer de suggestie eerst grondiger voor je een oordeel geeft. En kijk vooral eens naar de eigenschap style van de combobox.
 
Laatst bewerkt:
Snb

ik wil sowieso niet dat er een combobox wordt gebruikt, om te voorkomen dat er een verkeerd nummer wordt gebruikt. nummers lijken verschrikkelijk veel op elkaar.
 
dan snap je niets van het voorbeeld dat ik je stuurde.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan