gpt4 book ai didi

excel - 更改 VBA 代码以从定义的单元格而不是文本框 (Excel) 中读取

转载 作者:行者123 更新时间:2023-12-04 22:34:08 25 4
gpt4 key购买 nike

我已经搜索了这个站点,并发现了一个用户的代码,该代码对我的应用程序来说几乎是完美的。

Private Sub TextBox1_Change()
If InStr(2, TextBox1, "*RCBC*") > 1 Then
Me.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0) = Me.TextBox1.Value
Me.TextBox1.Text = ""
End If
End Sub

此代码将获取在文本框中输入的数据,并在找到 RCBC 后将其移动到 A 列中的第一个可用位置。

我想更改的是,此代码从定义的单元格而不是文本框执行此任务。因为此应用程序是从条形码扫描仪接收数据,并在找到该字符串时移动内容。扫描仪只会将数据输入到单元格中。我对VBA知之甚少,但有一些编码背景。

先感谢您。

最佳答案

Worksheet_Change()是一个事件,您可以使用它:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False

If Target.Cells.Count > 1 Then Exit Sub
If InStr(2, UCase(Target.Value2), "RCBC") > 1 Then
Target.Value2 = Target.Value2
Else
Target = vbNullString
End If

Application.EnableEvents = True

End Sub
  • 已添加 UCase() ,因此它检查 RCbCRcBc也是。
  • Application.EnableEvents = False需要暂时禁用事件,从而避免无限循环,因为在同一个单元格中一遍又一遍地写入。
  • Target.Cells.Count > 1检查选定单元格的数量。
  • 关于excel - 更改 VBA 代码以从定义的单元格而不是文本框 (Excel) 中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50725048/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com