After doing a bit more digging, this appears to be a variation of the Social Golfer Problem. There are several algorithms out there, some relying on brute force or heuristics. It should absolutely be doable in VBA, but you can probably find existing code/apps out there to accomplish the task.
I'll continue looking into this, but let us know if you find an online "scheduler" that solves your problem.
Edit:
This could be one solution for 6 tables of 5 kids, but it won't ensure the half boy/girl constraint. According to this results page:
For m groups of n players where m < n, it is impossible to find a group of n players for week 2 who all come from different week 1 groups (since there are only m of them).
For m groups of n players, each player plays with n-1 other players each week. Since there are a total of mn-1 other players, this means a player runs out of partners after (mn-1)/(n-1) weeks.
Therefore 5 groups of 6 kids would have repeats. By the 2nd formula, a kid would run out of partners after 5 turns.
5 weeks play in 6 groups of 5 golfers
[ 1 2 3 4 5 | 6 7 8 9 10 | 11 12 13 14 15 | 16 17 18 19 20 | 21 22 23 24 25 | 26 27 28 29 30]
[ 1 6 11 16 21 | 2 7 12 17 26 | 3 8 13 22 27 | 4 9 18 23 28 | 5 14 19 24 29 | 10 15 20 25 30]
[ 1 8 12 20 28 | 2 6 14 22 30 | 3 9 11 17 24 | 4 7 16 25 29 | 5 15 18 21 27 | 10 13 19 23 26]
[ 1 14 17 25 27 | 2 9 13 20 21 | 3 10 12 18 29 | 4 6 15 24 26 | 5 8 16 23 30 | 7 11 19 22 28]
[ 1 9 15 22 29 | 2 10 16 24 27 | 3 7 14 20 23 | 4 12 19 21 30 | 5 6 13 17 28 | 8 11 18 25 26]