Ok, it makes the situation clearer.
In my opinion the approach is not correct, because a function (responsibility) of SetTagValue2 method is to modify a value of specified tag and if such tag does not exist (is not appended to the element), do nothing. Any other functionality added to the method will change its function, which is not right.
I also don't understand why do you iterate through the array? If you for example know (based on some other code) that tag named "2_nord" should be set to a value of specified coordinate, in my opinion the code can be
Dim tagValue as String tagValue = Format(point1.y, "0.00") SetTagValue2 el, "2_nord", tagValue
but no inside SetTagValue2 method, because the method itself is general and should never depends on specific conditions like name of tags or whatever else.
Regards,
Jan