To remove "IF" : assume that excel it's allready opened or create one .
To remove "while" , i presume that columns will always be X , Y, Z ?
Dim i As Integer
For i = 2 To rowsnum
x = osheet.Cells(i, 1).Value
y = osheet.Cells(i, 2).Value
z = osheet.Cells(i, 3).Value
Set opoint =...