Ich weis nicht ob es daran liegt aber du hast in der Main-Schleife ja noch einen Sub drinnen

Code:
Main:
Do
.
.
.
Sub Set_dac(da As Word)
.
.
End Sub
Goto Main
Loop
Würde die einzelnen Subs vllt trennen und dann aufrufen