gpt4 book ai didi

excel - VBA检查是否在另一张表中找到来自一张表的值

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

我想开发一个宏来检查工作表中一列的值是否在另一张表的列中作为子字符串找到。

所以,我想检查我的第一列的每个单元格,如果它不为空,请将其与第二张表中的每个单元格进行比较,即第 1 列和第 3 列。

为此,我使用了一个“for each”循环,然后是一个“for”循环,其中 i 从 1 到 Rows.Count。

这是它变得棘手的地方,因为我不确定这是否是解决这个问题的正确方法。此外,用于检查是否作为子字符串找到值的 instr() 函数的参数似乎不匹配,因为在尝试运行代码时出现“类型不匹配”错误。

Sub test()

Set Wks1 = Worksheets("Sheet1")
Set Wks2 = Worksheets("Sheet2")

Dim i As Long
Dim rng As Range, cell As Range

Set rng = Wks1.Range("C3:O69")

For Each cell In rng

If Not (IsEmpty(cell.Value)) Then

For i = 1 To Wks2.Rows.Count

If (InStr(Cells(i, 1), cell.Value, 1) <> 0) Or (InStr(Cells(i, 3), _
cell.Value, 1) <> 0) Then
Cells(i, 4) = "String contains substring"

End If

Next i

End If

Next cell

End Sub

最佳答案

那应该工作

Sub test()

Dim i As Long
Dim rng As Range, cell As Range
Dim lastRow as Long

Set Wks1 = Worksheets("Sheet1")
Set Wks2 = Worksheets("Sheet2")

Set rng = Wks1.Range("C3:O69")
lastRow = Wks2.Cells(Rows.Count, 1).End(xlUp).row
For Each cell In rng

If Not (IsEmpty(cell.Value)) Then

For i = 1 To lastRow

With Wks2

If (InStr(.Cells(i, 1), cell.Value) <> 0) Or (InStr(.Cells(i, 3), cell.Value) <> 0) Then

.Cells(i, 4) = "String contains substring"

End If

End With
Next i

End If

Next cell

End Sub

关于excel - VBA检查是否在另一张表中找到来自一张表的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57783880/

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