Driesumdre
Gebruiker
- Lid geworden
- 19 mei 2011
- Berichten
- 29
Goedenavond Excelhelden,
Ik heb een vraag over het declareren van een variabele.
Ik heb een VBA-code waarbij een artikelnummer van een leverancier gedeclareerd wordt.
Tot nu toe ging dat prima, aangezien het artikel alleen cijfers bevatte.
Nu (nieuwe extra leverancier) hanteert bijvoorbeeld 45b782c als artikelnummer en dat vind de code niet leuk en werkt niet op dat artikelnummer.
Logisch want het is geen alfanumerieke karakters worden niet gevangen in Long.
Maar wat dan wel? op variant loopt hij ook vast. dat heeft waarschijnlijk te makenmet het feit dat ik de waarde gebruik als zoekreferentie in een vlookup worksheetfunction.
Ik hoop dat jullie een oplossing kunnen bedenken.
Hieronder de code
Ik heb een vraag over het declareren van een variabele.
Ik heb een VBA-code waarbij een artikelnummer van een leverancier gedeclareerd wordt.
Tot nu toe ging dat prima, aangezien het artikel alleen cijfers bevatte.
Nu (nieuwe extra leverancier) hanteert bijvoorbeeld 45b782c als artikelnummer en dat vind de code niet leuk en werkt niet op dat artikelnummer.
Logisch want het is geen alfanumerieke karakters worden niet gevangen in Long.
Maar wat dan wel? op variant loopt hij ook vast. dat heeft waarschijnlijk te makenmet het feit dat ik de waarde gebruik als zoekreferentie in een vlookup worksheetfunction.
Ik hoop dat jullie een oplossing kunnen bedenken.
Hieronder de code
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
[B]Dim nArt As Long 'dit is de boosdoener[/B]
Dim nCount As Integer
Dim sLev As String
Dim sOms As String
Dim sFormaat As String
Dim sWork As String
Dim rArtTabel As Range ' the look up table
Dim rArtikel As Range ' The Make column on Lookup Table
If Target.Column = 2 Then
If Not Target Is Nothing Then
nArt = Target.Value
Set rArtTabel = Sheets("Tabellen").Range("ArtTabel")
Set rArtikel = Sheets("Tabellen").Range("Art")
nCount = Application.WorksheetFunction.CountIf(rArtikel, nArt) 'Checks if the value entered in the Make entered is found on Clumn A of LUTable (Manfacturer)
If nCount = 1 Then
sLev = Application.WorksheetFunction.VLookup(nArt, rArtTabel, 2, False)
sOms = Application.WorksheetFunction.VLookup(nArt, rArtTabel, 3, False)
sFormaat = Application.WorksheetFunction.VLookup(nArt, rArtTabel, 4, False)
Target.Offset(0, 1).Value = sLev
Target.Offset(0, 2).Value = sOms
Target.Offset(0, 3).Value = sFormaat
Else
Target.Offset(0, 1).Value = ""
Target.Offset(0, 2).Value = ""
Target.Offset(0, 3).Value = ""
End If
End If
End If
End Sub
Laatst bewerkt: