Хотел бы автоматически заполнить ячейку (C: C) за вычетом заголовка, поскольку я ввожу данные в ячейку (A: A) за вычетом заголовка, используя VBA. Для формулы, которую я хочу автоматически заполнить в ячейке C: C, есть логика true/false, но вместо этого я заменил ее сканером 1 и 2.
=IF(ISNUMBER(SEARCH("$",$A2)),"Scanner 2",IF(ISNUMBER(SEARCH("#",$A2)),"Scanner 1","Error"))
Ниже приведен код VBA, который я пытался использовать, может ли он быть неправильным, поскольку я новичок в VBA: (может быть, использовать функцию вместо частной подпрограммы?)
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
tCell = tCell.Formula = ...
, но в остальном неясно, что вы имеете в виду, говоря, что это не работает. Можете ли вы уточнить? Пожалуйста, измените вопрос более подробно. - person David Zemens   schedule 10.07.2019Worksheet_Change
, не переименовывайте его вAutofill_scan_name
. - person BigBen   schedule 10.07.2019tCell = tCell.Formula = ...
Это было бы простоtCell.Formula = ...
Кроме того, является лиThisWorkbook.Sheets("BOD_Barcode")
листом, на котором находится этоWorksheet_Change()
событие? Если нет, вам нужно уточнить, потому чтоtCell
будет любым активным листом... - person BruceWayne   schedule 10.07.2019