Both swimmers clocked qualifying times for the Commonwealth Games to be held in Scotland later this year.
The 50 metres freestyle final was won by the veteran Schoeman in a time of 22.11 seconds, with Tandy (22.22) behind in second.
"This is such a great relief," said Tandy after the race.
"I was speaking to Roland quite often and he told me to just swim my own race push hard and put my head down. That is exactly what I did tonight. I was happy with his advice."
With his time, Tandy notched up a personal best to become eligible to represent South Africa for the first time.
The 19-year-old Vanessa Mohr won the shortest and the longest race in the butterfly.
After winning the 50 butterfly earlier in the week in (37.15), she bagged the 200 butterfly on the final night in 2:19.50, but it was more than 10 seconds off the qualifying time.
In the 200m breaststroke, Jarred Crous snatched the title from Ayerton Sweeney winning in 2:14.86, ahead of Sweeney in 2:14.95.
Myles Brown, who qualified for the 400 freestyle earlier the week failed to build on his success in the 1500m freestyle.
He won the event in 15:19.30, but was almost five seconds slower than the qualifying time of 15:14.38.
Open water swimmer Troyden Prinsloo was second in 15:20.14.
Results from the South Africa Aquatic championships in Durban, on Saturday:
50 m freestyle:
1 Roland Schoeman 22.11, 2 Brad Tandy 22.22, 3 Brett Walsh 22.66.
1 Myles Brown 15:19.30, 2 Troyden Prinsloo 15:20.14, 3 Brent Szurdoki 15:44.16.
1. Jarred Crous 2:14.86, 2 Ayerton Sweeney 2:14.95, 3 Brenden Crawford 2:19.12.
1 Vanessa Mohr 2:19.50, 2 Megan Stephens 2:19.68, 3 Tarryn Els 2:20.28.
400 individual medley:
1 Rene Warnes 4:45.72, 2 Marlies Ross 4:55.95, 3 Megan van Wyk 4:59.83.