Thanks Gergely and Dominika. I have managed to get it working now. For future reference for anybody with the same issues who may stumble across this post:
1. I had accidentally declared the ID variable the same in both objects (e.g. unID = 1). I changed the macro declaration to ensure the listfield ID was unique.
2. I was using the tab[iTAB] = “” : iTAB = iTAB + 1 method to declare all my page titles. This works well with only one object, but with a macro, it gets too complicated (I found). So I swapped out the array for direct variables. Next time, I think I’ll just write the page title directly in the subroutine.
3. Each page needed a unique ID…in the order I wanted them to appear.
4. The call function needed to include “gs_ui_current_page = gs_ui_current_page”
AC20 6005 AUS Full & AC 21 3009 NZE Full | Win 10 Pro 64 | Intel i7-7700HQ 2.80GHz | 16 Gb RAM
NVIDIA GeForce GTX 1060 8Mb