This code works (I tried it):
SV2D.Visible = True
DoEvents
SV2D.HorizontalScrollPosition = K * ScreenWidth
Without the context, it's difficult to say why you need to add something else. There's no logical explanation for:
This code should be completely useless.
The first DoEvents after "visible = true" is mandatory because it lets some time to the B4A message handler to make the ScrollView visible (to process the UI message). The scroller does not work as expected if the ScrollView is not already visible.