使用查找功能Excel VBA查找范围内的十进制值

时间:2018-10-22 16:33:00

标签: excel vba decimal

我正在使用excel VBA查找在数字范围内具有十进制值的数字。下面是代码:

Sub Display()
Dim ADAvalue1 As Single
Dim ADAline1 As Single
Dim lrpd1 As Long


ThisWorkbook.Activate
Sheets("Supporting Data").Activate


ADAline1 = Range("C42").Value
MsgBox ADAline1
ADAvalue1 = Range("F42").Value

Sheets("GCInput").Activate



If ADAline1 = Range("C97").Value Then
MsgBox "It is finding value"
Else
MsgBox "It is not finding value"
Exit Sub
End If


If ADAvalue1 > 0 Then

 Set FindRow1 = ActiveSheet.Range("C:C").Find(ADAline1, ActiveSheet.[C1], xlValues, xlWhole, , xlNext)

If Not FindRow1 Is Nothing Then
    lrpd1 = FindRow1.Row
    MsgBox lrpd1
    Cells(lrpd1, "N").Value = Cells(lrpd1, "N").Value - ADAvalue1

    Else
    MsgBox "Line number entered for ADA point 1 is incorrect"
    Exit Sub
End If

Else

End If

End Sub

ADAline1可以在“支持数据”选项卡C42的单元格中选取值,并与GC输入选项卡的单元格C97的值匹配。

但是,无论数字是否为小数,都无法执行“ Cells(lrpd1, "N").Value = Cells(lrpd1, "N").Value - ADAvalue1”功能。在这种情况下,它将显示消息“为ADA点1输入的行号不正确”。

当数字是整数(在两个选项卡中)时,它可以执行减法。我也尝试了不同的数字格式设置选项,但是没有一个起作用。有人可以帮忙吗?

0 个答案:

没有答案