Bueno, si realmente quieres hacerlo como lo pensaste, habría que ver como logras la paginación, pero la solución no se me hace tan complicada, básicamente tienes que iterar tu arreglo.
Código:
function paginarDs(ds, numReg)
numPaginas = uBound(ds, 2)/numReg
'Determina si es un numero decimal, si es decimal: numPaginas = fraccion entera numPaginas + 1
esteRegistro = 0
for i = 0 to numPaginas-1
'imprime numero de pagina(i+1);imprime alt o tooltip o lo que sea ds(esteRegistro, indice_nombre)
esteRegistro = esteRegistro + numReg
next
end function
Algo asi.
Saludos DD