أضف تعليقا متعدد الصفحات عن طريق التكرار من قيم الخلية

StackOverflow https://stackoverflow.com//questions/23063791

سؤال

أود إنشاء التسميات التوضيحية لصفحات نموذج المستخدم متعدد الصفحات عن طريق التكرار من خلال بعض قيم الخلايا ، ولكن للأسف أحصل على خطأ عند تهيئة نموذج المستخدم.

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 عند تحديد الصف الأخير.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top