Сделал макрос, он берет размер в мм и находит размер в дюймах, из первого и второго столбца. т.к. входные данные могут быть округлены математически в таблице приведены данные уже округленные, т.е. для D 21,3 исходные данные будут 21,34 а для 21,7 могут быть 21,68 . поэтому макрос должен воспринимать и 21,7 и 21,70 и 21,65, округляя до 21,7 (как в последнем примере). пока это работает только до 14-й строке с числом 73,0, а 88,9 уже не срабатывает в чем может быть проблема?
Код |
---|
Sub Get_inches_From_mm()
Dim sShName As String, sAddress As String, vData() As Variant, D$, i&, j&, Dr$,
Application.ScreenUpdating = False
Workbooks.Open "C:\Users\bel\Documents\1.xlsx"
sAddress = "A1:Q58"
vData = Sheets("00").Range(sAddress).Value
ActiveWorkbook.Close False
D = InputBox("Размер в дюймах, дробная часть через запятую")
Dr = Application.Round(D, 1)
For i = 3 To UBound(vData, 2)
If vData(i, 2) = Dr Then
Exit For
End If
If i = UBound(vData, 2) Then Exit Sub
Next i
ActiveCell.Value = vData(i, 1)
ActiveCell.Offset(1, 0).Range("A1").Select
End Sub
|
Подскажите в чем ошибка, я так понимаю не правильно заданы типы данных или он округляет как то по другому нежели функция ОКРУГЛ
данные берутся из файла в приложении. Спасибо