如何选择与另一个单元格值匹配的单元格vba

时间:2016-02-17 01:00:01

标签: excel vba excel-vba

有谁知道我如何选择与另一个匹配的范围内的任何细胞? 例如:

将范围(" A9:A200")与范围(" B9")进行比较

如果说范围(" A10")是" bellingham"和范围(" B9")也是bellingham

我希望A10成为活跃的细胞。

任何帮助都会得到最多的帮助。谢谢。

2 个答案:

答案 0 :(得分:1)

将此代码放入包含数据的工作表的表单代码模块中:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range, f As Range, v
    Set rng = Application.Intersect(Target, Me.Range("B9"))

    If Not rng Is Nothing Then

        v = Trim(rng.Value)

        If Len(v) > 0 Then
            Set f = Me.Range("A10:A500").Find(what:=rng.Value, _
                                              lookat:=xlWhole)

            If Not f Is Nothing Then
                If Me.Range("A9").Value = "checkin" Then
                    f.Offset(0, 1).Value = Now
                    f.Offset(0, 2).Value = "userName" 'from where?
                    f.Offset(0, 3).Value = "Checked In" 
                End If
            Else
                MsgBox "Scanned value '" & rng.Value & "' not found !", _
                        vbExclamation
            End If 'found a match

        End If 'cell has a value

    End If 'checking this value

End Sub

调整范围以适应......

答案 1 :(得分:0)

使用像匹配这样的公式可能会更容易吗?如果要从VBA调用它,可以使用worksheetfunction.match。