比较不同工作表中的两个单元格,将不同单元格设置为ok

时间:2015-05-04 15:01:20

标签: excel-vba vba excel

Sub test1()

Dim Str As String
Dim Search As String
Dim Status As String
Str = Cells(2, 5).Value
Search = FDSA!Cells(2, 5).Value
Status = FDSA!Cells(2, 10).Value

    If InStr(Search, Str) = True Then
                Status = "ok"
    Else
         End If

End Sub

我将通过循环来构建。我想检查FDSA!Cells(2,5)中是否包含Cells(2,5)中的内容。如果是真的那么我想标记FDSA!Cells(2,10)就好了。我收到了一个对象所需的消息。这是我在查看示例和教程后可以想到的。如果您有疑问,请告诉我

仅第二次使用VBA。 在此先感谢Alexis M.

1 个答案:

答案 0 :(得分:0)

引用工作表的语法不正确。那可能是错误。您需要致电Worksheets("FDSA"),而不是像您一样使用FDSA!来电。

此外,您必须将单元格值设置为Status才能生效。只是更改Status不会将其写回工作簿。

同样InStr返回匹配的位置。如果您想知道是否匹配,则需要检查返回值是否为>0。此代码应该运行,并且希望比当前代码更接近正确。

Sub test1()

Dim Str As String
Dim Search As String

Str = Cells(2, 5).Value
Search = Worksheets("FDSA").Cells(2, 5).Value


    If InStr(Search, Str) > 0 Then
        Worksheets("FDSA").Cells(2, 10).Value = "ok"
    End If

End Sub