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

Regel selecteren

Status
Niet open voor verdere reacties.

math1

Gebruiker
Lid geworden
26 nov 2005
Berichten
50
Ik heb een bestand met in kolom A een aantal unieke artikel nummers en in de volgende kolommen bijbehorende gegevens.
Via een scanner scan ik het nummer op het artikel en automatisch wordt er in kolom O een 1 geplaatst hetgeen betekend dat dit artikel aanwezig is. Dit verwezenlijk ik met volgende VBA code die ik op dit forum heb gevonden en welke uitstekend werkt.

Code:
CStr(TextBox1.Value)
If Right(tekstje, 1) = "#" Then

    If UserForm1.TextBox1.Text <> "" Then
        barcode = CStr(Left(tekstje, Len(tekstje) - 1))
        UserForm1.TextBox1.Text = ""
    Else
        barcode = ""
    End If
    
    wijzig = 1
    
    If WorksheetFunction.CountIf(Range("A:A"), CStr(barcode)) = 0 Then
        Range("O65536").End(xlUp).Offset(1, 0) = wijzig
        Range("A65536").End(xlUp).Offset(1, 0) = barcode
    Else
        For i = 2 To Range("A65536").End(xlUp).Row
            If Range("A" & i) = CStr(barcode) Then Range("O" & i) = Range("O" & i) + wijzig
                If Range("O" & i) > "1" Then
                    InfoForm.Show
                    Range("O" & i) = Range("O" & i) - wijzig
                End If
        Next
    End If
 
 
End If
End Sub

Ik zou deze code graag aangevuld zien zodat als een artikelnummer gescand wordt de cursor naar kolom A op de regel waar het nummer staat gaat, en het scherm zodanig verspringt dat deze regel ook zichtbaar is in het scherm.
 
Laatst bewerkt door een moderator:
Code:
tekstje = CStr(TextBox1.Value)
If Right(tekstje, 1) = "#" Then

If UserForm1.TextBox1.Text <> "" Then
barcode = CStr(Left(tekstje, Len(tekstje) - 1))
UserForm1.TextBox1.Text = ""
Else
barcode = ""
End If

wijzig = 1

If WorksheetFunction.CountIf(Range("A:A"), CStr(barcode)) = 0 Then
Range("O65536").End(xlUp).Offset(1, 0) = wijzig
Range("A65536").End(xlUp).Offset(1, 0) = barcode
Else
For i = 2 To Range("A65536").End(xlUp).Row
If Range("A" & i) = CStr(barcode) Then Range("O" & i) = Range("O" & i) + wijzig
If Range("O" & i) > "1" Then
InfoForm.Show
Range("O" & i) = Range("O" & i) - wijzig
End If
Next
[B][COLOR="Blue"]Range("A" & i).Select[/COLOR][/B]
End If


End If
End Sub

De blauwe regel zou moeten volstaan.
De volgende keer gaarne code tags gebruiken zodat het voor een ieder makkelijker te lezen is.

Met vriendelijke groet,


Roncancio
 
Roncancio,

als ik de regel laat staan volgens jouw oplossing springt de cursor naar het allerlaatste veld in de lijst.
ik heb jouw regel daarom boven de Next geplaatst en zo werkt het goed.


Super bedankt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan