循环数组中的所有内容以与每个单元格进行比较

时间:2017-07-06 08:41:31

标签: vba excel-vba excel

在进入下一个细胞之前,我怎么能让我的细胞被阵列中的所有值评估

数组内的示例值   N / A

R008-0097X
R005-0077X
R002-1703X
R003-0301X
R019-1439U

  For Each cel In SrchRnga  ' this entire statement does not replace anything

            If InStr(1, cel.Value, BOM(b )) > 0 Then
                cel.Offset(0, 1).Value = SAP(b)
                cel.Offset(0 + 9, 1).Value = UF(b)
                b = b + 1
            End If
Next cel

目前只是只读并继续前进。

for b =1 to 9  ' it starts replacing after i added this code
        For Each cel In SrchRnga

                    If InStr(1, cel.Value, BOM(b )) > 0 Then
                        cel.Offset(0, 1).Value = SAP(b)
                        cel.Offset(0 + 9, 1).Value = UF(b)

                    End If
        Next cel
next b

我尝试在外面放一个for循环,认为它会读取单元格8次,但是这会将我在数组中的所有值都替换为""

我想知道的是: 如何为每个单元格循环数组而不替换数组中不存在的值。

1 个答案:

答案 0 :(得分:0)

将迭代器放在For Each循环中

For Each cel In SrchRnga
    For b = 1 to 9        
        If InStr(1, cel.Value, BOM(b )) > 0 Then
            cel.Offset(0, 1).Value = SAP(b)
            cel.Offset(0 + 9, 1).Value = UF(b)
        End If
    next b
Next cel