Поиск десятичного значения в диапазоне с помощью функции поиска Excel VBA - PullRequest
0 голосов
/ 22 октября 2018

Я использую 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 неверна».

Когда число является целым числом (на обеих вкладках), оно может выполнить вычитание.Я пробовал с другими вариантами форматирования чисел, но ни один не работал.Может ли кто-нибудь помочь?

...