Excel 2010宏未找到值

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

我有一个搜索但没有找到“7”的宏(如果正确(对,2)= 7那么)。问题是当我将数字更改为11或12等(任意两位数)和代码中的findXX时,它工作正常。有谁知道发生了什么,我需要做的确切变化是什么。

选项明确

Sub DivideSomeStuff()

Dim pair As Range, accumulator As Range
Dim findSeven As Double
Dim remainder As Long

For Each pair In Range("B30, F30, J30")
    If Right(pair, 2) = 7 Then
        If pair.Offset(0, 2) <= 12 Then
            remainder = 0
        Else
            remainder = pair.Offset(0, 2) Mod 10
        End If

        findSeven = (pair.Offset(0, 2) - remainder) / 10

        For Each accumulator In Range("A36, D36, G36, J36, M36, A40, D40, G40, J40, M40")
            If accumulator.Offset(-1, 0) = Val(Left(pair, InStr(pair, "-") - 1)) Then
                accumulator.Value = accumulator.Value + remainder
            End If
            accumulator.Value = accumulator.Value +  findSeven
        Next accumulator
    End If
Next pair

结束子

excel-2010 return-value
1个回答
0
投票

改变它......

Right(pair, 2) = 7

... 至 ...

Right(pair, 1) = 7

当7是单个字符时,您当前正在获得2个正确的值。

您可能需要在7周围加上引号,看看是否可以在没有它们的情况下工作。

© www.soinside.com 2019 - 2024. All rights reserved.