Как автоматически вернуться к исходному столбцу, но к следующей строке при сканировании # - PullRequest
0 голосов
/ 16 января 2019

Я хочу постоянно сканировать штрих-коды в Excel. Каждое сканирование попадет в одну и ту же строку в отдельной ячейке, пока не будет отсканировано «$», и вернется к исходному столбцу и следующей строке.

Я пробовал это:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    Select Case Target.Column
        Case 3                              'column c
            If Target.Value <> "" Then
                Target.Offset(0, 1).Select  'move right
            End If
        Case 4                              'column d
            If Target.Value <> "" Then
                Target.Offset(0, 1).Select  'move right
            End If
        Case 5                              'column E
            If Target.Value <> "" Then
                Target.Offset(1, -2).Select 'move down and back to column C
            End If
    End Select

End Sub

1 Ответ

0 голосов
/ 16 января 2019

Это должно работать для вас.

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Scan As Variant

Scan = Trim(Target.Value)
If Len(Scan) And Target.Column > 2 Then
    If Left(Scan, 1) = "$" Then
        Scan = Mid(Scan, 2)
        With Application
            .ScreenUpdating = False
            .EnableEvents = False
        End With
        If Target.Column > 3 Then
            Target.ClearContents
            Set Target = Cells(Target.Row + 1, 3)
        End If
        Target.Value = Scan
        With Application
            .EnableEvents = True
            .ScreenUpdating = True
        End With
    End If

    Target.Offset(0, Sgn(Val(Scan))).Select
End If

End Sub

Код был расширен, чтобы включить новые требования в соответствии с вашим комментарием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...