用于查找和偏移值的字符串数组

问题描述 投票:0回答:1

我正在尝试在多义系中找到多变量,然后将值偏移到下一列。以下代码仅适用于第一个变量“ a *”,而不适用于其他变量。

我该如何解决这个问题?

Sub a()

Dim rng As Range
Dim sFind(10) As String

sFind(0) = "a*"
sFind(1) = "b*"
sFind(2) = "c*"
sFind(3) = "d*"
sFind(4) = "e*"
sFind(5) = "f*"
sFind(6) = "g*"
sFind(7) = "h*"
sFind(8) = "i*"
sFind(9) = "j*"

For Each rng In Range("J2", Range("J65536").End(xlUp))
    If Not rng.find(sFind(), LookIn:=xlValues) Is Nothing Then
        rng.Offset(0, 1).Value = "1"
    End If
Next rng

End Sub
arrays excel vba offset
1个回答
0
投票

一种方法是修改内部代码并添加如下所示的循环,该循环将检查所有条目。

For i = lbound(sFind) to ubound(sFind)
    If Not rng.find(sFind(i), LookIn:=xlValues) Is Nothing Then
        rng.Offset(0, 1).Value = "1"
        Exit For
    End If
Next i
© www.soinside.com 2019 - 2024. All rights reserved.