문제

일부 셀 값을 통해 루프를 반복하여 UserForm 다중 값의 페이지에 대한 캡션을 생성하고 싶지만 UserForm이 초기화 될 때 오류가 발생합니다.

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 IntegerDim pagecount As Long로 변경 한 것입니다 (정수의 최대 값은 32768 만 있기 때문에).귀하의 예는 32768 페이지 이상이 될 것 같지 않지만, 일반적으로 마지막 행을 결정할 때 Long를 사용하는 것이 좋습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top