Agregue la subtionización de la variasión al bucle de los valores celulares
Pregunta
Me gustaría generar los subtítulos para las páginas de un multipage de forma de usuario al bucle a través de algunos valores de células, pero desafortunadamente recibo un error cuando se inicializa el formulario de usuario.
Private Sub UserForm_Initialize()
Dim pagecount As Integer
Dim n As Integer
Dim name As Integer
pagecount = Sheets("SETUP").Range("B" & rows.Count).End(xlUp).Row - 5
n = 0
name = 6
With MultiPage1
Do
.Pages(n).Caption = Sheets("SETUP").Range("B" & name).Value
n = n + 1
name = name + 1
Loop Until n = pagecount
End With
End Sub
Solución
Como seguimiento de los comentarios, este funciona:
Private Sub UserForm_Initialize()
Dim pagecount As Long
Dim n As Long
pagecount = Sheets("SETUP").Range("B" & Rows.Count).End(xlUp).Row - 5
n = 0
With MultiPage1
Do
If n >= .Pages.Count Then .Pages.Add
.Pages(n).Caption = Sheets("SETUP").Range("B" & n + 6).Value
n = n + 1
Loop Until n = pagecount
End With
End Sub
También tenga en cuenta que he cambiado Dim pagecount As Integer
a Dim pagecount As Long
(porque el valor máximo del entero es solo 32768
).Por su ejemplo, es poco probable que tenga más que las páginas 32768
, pero en general es una buena práctica para usar Long
al determinar la última fila.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow