我正在使用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输入的行号不正确”。
当数字是整数(在两个选项卡中)时,它可以执行减法。我也尝试了不同的数字格式设置选项,但是没有一个起作用。有人可以帮忙吗?