Автоматически заполняйте и выполняйте формулу для «Ячейки С2 и т. Д.», Когда я вводю данные в «Ячейку А2 и т. Д.» - PullRequest
0 голосов
/ 10 июля 2019

Хотелось бы автоматически заполнять ячейку (C: C) минус заголовок, когда я вводю данные в ячейку (A: A) минус заголовок, используя VBA.Для формулы, которую я хочу автоматически заполнить в ячейке C: C, это логическая истина / ложь, но вместо этого она заменена сканером 1 и 2.

=IF(ISNUMBER(SEARCH("$",$A2)),"Scanner 2",IF(ISNUMBER(SEARCH("#",$A2)),"Scanner 1","Error"))

Ниже приведен код VBA, который я пытался, не так лиможет быть неправильно, так как я новичок в VBA: (может быть, использовать функцию вместо частного sub?)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rINT As Range
Dim rCell As Range
Dim tCell As Range

Set rINT = Intersect(Target, Range("A:A"))
If Not rINT Is Nothing Then
    For Each rCell In rINT
        Set tCell = rCell.Offset(0, 2)
        If IsEmpty(tCell) Then
            With ThisWorkbook.Sheets("BOD_Barcode")
            tCell = tCell.Formula = "=IF(ISNUMBER(SEARCH(""$"",$A2)),""Scanner 2"",IF(ISNUMBER(SEARCH(""#"",$A2)),""Scanner 1"",""Error""))"
            End With
        End If
    Next
End If
End Sub 

1 Ответ

1 голос
/ 11 июля 2019

Вместо использования VBA я использовал формулу прямо в ячейку и включил итерацию в настройках параметров.Поэтому, когда вы вводите данные, он будет проверять, есть ли данные, если нет - в моем случае он будет работать по формуле, но вы можете использовать ее для метки времени или любой функции.

=IF($A2<>"",IF($C2="",IF(ISNUMBER(SEARCH("$",$A2)),"Scanner 2", IF(ISNUMBER(SEARCH("#",$A2)),"Scanner 1","Error")),$C2),"")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...