Если ячейка в столбце K возвращает FALSE, очистить ячейку в столбце B - PullRequest
0 голосов
/ 16 мая 2019

У меня есть файл, в который пользователь будет вводить информацию в столбце B, SKU местоположения.

Столбец K будет отображаться, если пользователь ввел правильную информацию в столбце B, отображая либо True, либо False.

Что я пытаюсь сделать, так это если столбец K возвращает False, информация в столбце B будет очищена, станет активной ячейкой, и пользователю потребуется ввести правильную информацию, чтобы вернуть значение True.

Код, который я имею ниже, ограничен ячейкой B2.

Может ли кто-нибудь помочь, пожалуйста?

Большое вам спасибо!

Изображение того, чего я надеюсь достичь: https://imgur.com/a/TGBMTkc

Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim cell22 As Range, b As Boolean Application.EnableEvents = False For Each cell22 In Target If Not Application.Intersect(cell22, Range("k2:k6000")) Is Nothing Then If cell22.Value <> True Then Range("B2").ClearContents Range("B2").Activate b = True End If End If Next cell22 If b Then MsgBox "xxx", vbInformation, "Important:" Application.EnableEvents = True End sub

1 Ответ

0 голосов
/ 16 мая 2019

Попробуйте это:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range, rng As Range, hadProblem As Boolean

    'only check cells in ColB
    Set rng = Application.Intersect(Me.Range("B:B"), Target)
    DoEvents 'allow for calculations

    On Error GoTo haveError

    If Not rng Is Nothing Then
        For Each c In rng.Cells
            'check "K" value
            If Not c.EntireRow.Cells(1, "K").Value Then
                Application.EnableEvents = False
                c.ClearContents
                Application.EnableEvents = True
                c.Select
                hadProblem = True
            End If
        Next c
    End If

    If hadProblem Then
        MsgBox "One or more cells in Column B had incorrect locations. Please rescan.", _
                vbExclamation, "Location Error"
    End If

    Exit Sub

haveError:
    Application.EnableEvents = True 'make sure events are turned back on

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