首页 > 解决方案 > 如何使 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

标签: excelvba

解决方案


您可以使用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


推荐阅读