excel - 如何使 VBA 命令按钮搜索提供的输入并更改状态(如果存在)?
问题描述
好的,这是我的 VBA:
Private Sub In_Click()
Range("E2").Find.Text = TextBox1.Text And TextBox2.Text
Range("A65536").End(xlUp).Select
RowNumber = ActiveCell.Row
Range("E(RowNumber)") = ("IN")
End Sub
我想要实现的是,搜索表单 TextBox1 和 2 的内容,如果找到,则在 E 列中找到文本的任何行(两者将是同一行)中的单元格将被覆盖为阅读“IN”并为下一个条目清除表格。
如果以某种方式拒绝投票或标记,请至少告诉我原因。如果我不知道问题,我就不能做得更好。
新的:
Private Sub CheckIn_Click()
Dim FoundRange As Range
Dim Status As Range
Set FoundRange = Columns("D").Find(What:=TextBox2.Text, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
If Not FoundRange Is Nothing Then
Set Status = Columns("E")
Status.Value = "IN"
Else
MsgBox "Not Found"
End If
End Sub
解决方案
您可以使用Range.Find 方法来查找第一个匹配项……</p>
Sub In_Click()
Dim FoundRange As Range
Set FoundRange = Columns("E").Find(What:=TextBox1.Text & TextBox2.Text, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
If Not FoundRange Is Nothing Then
FoundRange.Value = "IN"
Else
MsgBox "not found"
End If
End Sub
或者Range.Replace 方法来替换所有出现的…</p>
Sub In_Replace()
Columns("E").Replace What:=TextBox1.Text & TextBox2.Text, Replacement:="IN", LookAt:=xlWhole, MatchCase:=False
End Sub
请注意,如果您连接 2 个字符串,则必须使用 the&
并且不能使用单词And
: ConcatString = TextBox1.Text & TextBox2.Text
。
推荐阅读
- visual-studio-code - vscode 1.60 中的 Blazor WASM 未绑定断点 .net 6 preview7
- spring-boot - 如何通过在 Spring Boot 中的实体中输入关键字来搜索产品?
- c# - 分离一些列表剃刀
- arrays - 如何将列中的列表保存到 CSV?
- python - 网络爬虫美汤
- sos - 为什么我不能从共享文件夹运行 sos
- td-engine - TDengine数据库数据迁移工具
- c++ - 将 grpc 包含到 c++ 项目中
- python - Networkx MultiDiGraph 继承:add_weighed_edges_from KeyError:无
- c++ - 如果行和列的差大于 1,为什么我不能打印二维数组?