通过循环单元格值添加多页标题
题
我想通过循环某些单元格值来生成用户窗体多页页面的标题,但不幸的是,在初始化用户窗体时出现错误。
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
解决方案
根据评论的后续,这个有效:
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
另请注意,我已经改变了 Dim pagecount As Integer
到 Dim pagecount As Long
(因为整数的最大值仅为 32768
)。对于你的例子来说,它不可能有超过 32768
页面,但总的来说,使用是一个很好的做法 Long
当确定最后一行时。
不隶属于 StackOverflow