Просто используйте функцию Round()
, например: Round(x.Offset(0, 5), 0)
После перечитывания вашего поста кажется, что вы пытаетесь округлить вверх или вниз, около 5, а не 0,5
Если это так, я сделаю что-то вроде этого: Round(x.Offset(0, 5)/10, 0)*10
Public Function NBlookup(lookUpVal, lookUpRange As Range, indexCol As Long)
Dim Result As String
Dim x As Range
Result = ""
For Each x In lookUpRange
If x = lookUpVal Then
Result = Result & " " & x.Offset(0, indexCol - 1) & Round(x.Offset(0, 5), 0)
End If
Next x
NBlookup = Result
End Function
Я добавил несколько заглавных букв в имена ваших переменных (нижний регистр верблюдов), чтобы немного увидеть, что к чему.
Я также объявил вашу функцию как Public
, чтобы вы могли напрямую использовать ее в ячейках Excel. В любом случае, рекомендуется объявлять область действия (Public, Private, Friend) ваших функций или подпрограмм. ;)