当我在“单元格 A2 等”中输入数据时,自动填充并执行公式到“单元格 C2 等”
Posted
技术标签:
【中文标题】当我在“单元格 A2 等”中输入数据时,自动填充并执行公式到“单元格 C2 等”【英文标题】:Automatically fill and execute formula to "Cell C2 and so forth" as I enter data in "Cell A2 and so forth" 【发布时间】:2019-07-10 17:21:12 【问题描述】:希望自动填充单元格 (C:C) 减去标题,因为我使用 VBA 在单元格 (A:A) 中输入数据减去标题。对于我想自动填充到单元格 C:C 中的公式是逻辑真/假,而是用扫描仪 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 = ...
,但否则不清楚您所说的“它不工作”是什么意思。你能详细说明吗?请更详细地修改问题。
另外,如果您想使用Worksheet_Change
,请不要将其重命名为Autofill_scan_name
。
嗨,是的,我正在尝试做一个 worksheet_change ,我会修改并详细说明这个问题
您确定要在列中的每个单元格 中使用此公式吗?另外,我不相信你能做到tCell = tCell.Formula = ...
那只是tCell.Formula = ...
另外,ThisWorkbook.Sheets("BOD_Barcode")
是这个Worksheet_Change()
事件所在的工作表吗?如果不是,您需要澄清,因为tCell
将是活动表的任何内容...
@BruceWayne 是的,我想把这个公式放在 C 列中的每个单元格中(减去标题),是的,我相信这是与工作表 _change() 相关联的工作表,但以防万一我怎么知道? VBA 新手
【参考方案1】:
我没有使用 VBA,而是直接将公式用于单元格并从选项设置中启用迭代。因此,当您输入数据时,它会检查是否有数据 - 在我的情况下它将运行公式,但您可以将其用于时间戳或任何函数。
=IF($A2<>"",IF($C2="",IF(ISNUMBER(SEARCH("$",$A2)),"Scanner 2", IF(ISNUMBER(SEARCH("#",$A2)),"Scanner 1","Error")),$C2),"")
【讨论】:
以上是关于当我在“单元格 A2 等”中输入数据时,自动填充并执行公式到“单元格 C2 等”的主要内容,如果未能解决你的问题,请参考以下文章
密码输入字段长度 = 0 自动填充(android chrome)