Sub Main Dim value1 As Integer = 1 Dim value2 As Integer = 2 FlipValues(value1, value2) 'value1 now equals 2 'value2 now equals 1 End Sub Sub FlipValues(ByRef firstValue As Integer, ByRef secondValue As Integer) Dim tempValue As Integer = firstValue firstValue= secondValue secondValue= tempValue End SubHowever, I would tend to agree with Paul that you should use a Structure. Like John said, a Function should return a single value. A Structure qualifies as a single value.