当我在“单元格 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 等”的主要内容,如果未能解决你的问题,请参考以下文章

自动填充2从1个自动完成输入表单输入,以查找代码和价格

在录制屏幕捕获视频时暂时禁用在输入字段中显示自动填充值

jQuery自动完成,通过选择建议选项填充多个字段

密码输入字段长度 = 0 自动填充(android chrome)

带有双引号的 JAVASCRIPT var 到 PHP 并返回用于自动填充

组合框是自动填充选项,如何让它为空