Sub Main() ByVal fungerar precis som det ska i ditt exempel, men det är ju referensen till arrayen som du skickar en kopia av. Det innebär ju inte att det automatiskt skapas en kopia av hela arrayen, utan det är ju fortfarande samma array som referenserna pekar på.ByVal blir ByRef när man matar in en matris
Dim atest(1) As Boolean
atest(1) = True
Call test(atest)
MsgBox(atest(1))
End Sub
Sub test(ByVal TotallyDiff() As Boolean)
TotallyDiff(1) = False
End Sub
Resulterar i att atest blir false..
Hade atest däremot inte varit en matris hade det varit true.. hur gör jag så att byval stannar kvar på matriser?Sv: ByVal blir ByRef när man matar in en matris
Ifall du vill skicka en kopia av hela arrayen så får du själv skapa den kopian.