Я использую 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
, сопоставить ее со значением в ячейке C97
вкладки входных данных ГХ.
Однако невозможно выполнить функцию "Cells(lrpd1, "N").Value = Cells(lrpd1, "N").Value - ADAvalue1
", КОГДА числа имеют десятичную дробь.В этом случае отображается сообщение «Номер строки, введенный для ADA, точка 1 неверна».
Когда число является целым числом (на обеих вкладках), оно может выполнить вычитание.Я пробовал с другими вариантами форматирования чисел, но ни один не работал.Может ли кто-нибудь помочь?