Voor wie dit leest, Hallo,
Ik wil graag een macro maken die onze voorraad bijhoud. Ik heb een lijst met artikelen die ik een vaste barcode geef. Als iemand van de voorraad pakt dan moet het artikel gescand worden. Als de scanner wordt uitgelezen komen de barcodes in Excel te staan. Dus als bv er 10 artikelen zijn dan heb ik max 10 verschillende barcodes die tig keer gescand zijn.
Het is de bedoeling dat die ingelezen barcodes worden vergeleken met de standaard barcodes. Als er een gevonden wordt dan moet er 2 kolommen verder de voorraad met 1 verminderd worden.
Ik heb al gegoogled en kwam wel met iets om de barcodes te vergelijken, maar ik krijg het niet voor elkaar dat de celwaarde met 1 wordt verminderd. Dit is wat ik heb voor de vergelijking:
Sub Find_Matches()
Dim CompareRange As Variant, x As Variant, y As Variant
' Stel CompareRange in op het bereik waarmee u de selectie wilt vergelijken.
Set CompareRange = Range("C1:C5")
' Opmerking Als het vergelijkingsbereik zich in een andere werkmap of een ander werkbalk bevindt, gebruikt u de volgende syntaxis.
' Set CompareRange = Workbooks("Book2"). _
' Worksheets("Sheet2").Range("C1:C5")
'
' Doorloop elke cel in de selectie en vergelijk deze met
' elke cel in CompareRange.
For Each x In Selection
For Each y In CompareRange
If x = y Then y.Offset(0, 2) = x
Next y
Next x
End Sub
Hij zet nu de x waarde keurig in 2 cellen verder.
Ik heb vervolgens geprobeerd om de x te vervangen: If x = y Then x.Offset(0, 4) = (ActiveCell.Value - 1)
Of door erbij te zetten: c = ActiveCell.Value en dan If x = y Then x.Offset(0, 4) = c - 1
Maar niets werkt. Ik krijg of foutmeldingen (type mismatch vaak) of de waarde in de cel wordt -1.
Kan iemand mij helpen?
Groetjes Jolanda
Ik wil graag een macro maken die onze voorraad bijhoud. Ik heb een lijst met artikelen die ik een vaste barcode geef. Als iemand van de voorraad pakt dan moet het artikel gescand worden. Als de scanner wordt uitgelezen komen de barcodes in Excel te staan. Dus als bv er 10 artikelen zijn dan heb ik max 10 verschillende barcodes die tig keer gescand zijn.
Het is de bedoeling dat die ingelezen barcodes worden vergeleken met de standaard barcodes. Als er een gevonden wordt dan moet er 2 kolommen verder de voorraad met 1 verminderd worden.
Ik heb al gegoogled en kwam wel met iets om de barcodes te vergelijken, maar ik krijg het niet voor elkaar dat de celwaarde met 1 wordt verminderd. Dit is wat ik heb voor de vergelijking:
Sub Find_Matches()
Dim CompareRange As Variant, x As Variant, y As Variant
' Stel CompareRange in op het bereik waarmee u de selectie wilt vergelijken.
Set CompareRange = Range("C1:C5")
' Opmerking Als het vergelijkingsbereik zich in een andere werkmap of een ander werkbalk bevindt, gebruikt u de volgende syntaxis.
' Set CompareRange = Workbooks("Book2"). _
' Worksheets("Sheet2").Range("C1:C5")
'
' Doorloop elke cel in de selectie en vergelijk deze met
' elke cel in CompareRange.
For Each x In Selection
For Each y In CompareRange
If x = y Then y.Offset(0, 2) = x
Next y
Next x
End Sub
Hij zet nu de x waarde keurig in 2 cellen verder.
Ik heb vervolgens geprobeerd om de x te vervangen: If x = y Then x.Offset(0, 4) = (ActiveCell.Value - 1)
Of door erbij te zetten: c = ActiveCell.Value en dan If x = y Then x.Offset(0, 4) = c - 1
Maar niets werkt. Ik krijg of foutmeldingen (type mismatch vaak) of de waarde in de cel wordt -1.
Kan iemand mij helpen?
Groetjes Jolanda