Vba 不';我不想在特定页面上添加控件

Vba 不';我不想在特定页面上添加控件,vba,excel,Vba,Excel,我遇到了一个不寻常的问题。 我有一套程序可以在不同的页面上添加一组控件 一个是添加框架 Public Sub AddFramesNP(form, pagina, nrpag) Set cControl = form!main.Pages(nrpag).Controls.Add("Forms.Frame.1", "io" & masina, True) With cControl .Caption = "IO" .Width

我遇到了一个不寻常的问题。 我有一套程序可以在不同的页面上添加一组控件 一个是添加框架

Public Sub AddFramesNP(form, pagina, nrpag)
Set cControl = form!main.Pages(nrpag).Controls.Add("Forms.Frame.1", "io" & masina, True)
        With cControl
            .Caption = "IO"
            .Width = 210
            .Height = 360
            .Top = 2
            .Left = 5
        End With
    Set cControl = form!main.Pages(nrpag).Controls.Add("Forms.Frame.1", "nio" & masina, True)
        With cControl
            .Caption = "nIO"
            .Width = 210
            .Height = 360
            .Top = 2
            .Left = 220
        End With
    Set cControl = form!main.Pages(nrpag).Controls.Add("Forms.Frame.1", "desc" & masina, True)
        With cControl
            .Caption = "Descriere"
            .Width = 210
            .Height = 360
            .Top = 2
            .Left = 435
        End With
End Sub
一个是添加标签

Public Sub AddLabsNP(form, pagina, replicare, den, den1, den2)
Dim k, l As Integer
    If den = 1 Then
        Set cControl = form.Controls("io" & masina).Add("Forms.Label.1", "lden1" & pagina, True)
            With cControl
                .Caption = den1
                .Width = 40
                .Height = 10
                .Top = 5
                .Left = 5
            End With
        Set cControl = form.Controls("nio" & masina).Add("Forms.Label.1", "lden1nio" & pagina, True)
            With cControl
                .Caption = den1
                .Width = 40
                .Height = 10
                .Top = 5
                .Left = 5
            End With
        End If
   If replicare = 1 Then
        Set cControl = form.Controls("io" & masina).Add("Forms.Label.1", "lden2" & pagina, True)
        With cControl
            .Caption = den2
            .Width = 40
            .Height = 10
            .Top = 165
            .Left = 5
        End With
    Set cControl = form.Controls("nio" & masina).Add("Forms.Label.1", "lden2nio" & pagina, True)
        With cControl
            .Caption = den2
            .Width = 40
            .Height = 10
            .Top = 165
            .Left = 5
        End With
    End If
    Do While l < replicare + 1
        Set cControl = form.Controls("io" & masina).Add("Forms.Label.1", "lreper" & l & pagina, True)
            With cControl
                .Caption = "Reper"
                .Width = 35
                .Height = 9
                .Top = 25 + k
                .Left = 5
            End With
        Set cControl = form.Controls("io" & masina).Add("Forms.Label.1", "lsn" & l & pagina, True)
            With cControl
                .Caption = "SN"
                .Width = 35
                .Height = 9
                .Top = 25 + k
                .Left = 70
            End With
        Set cControl = form.Controls("io" & masina).Add("Forms.Label.1", "lqt" & l & pagina, True)
            With cControl
                .Caption = "Qt"
                .Width = 35
                .Height = 9
                .Top = 25 + k
                .Left = 155
            End With
        Set cControl = form.Controls("nio" & masina).Add("Forms.Label.1", "lrepernio" & l & pagina, True)
            With cControl
                .Caption = "Reper"
                .Width = 35
                .Height = 9
                .Top = 25 + k
                .Left = 5
            End With
        Set cControl = form.Controls("nio" & masina).Add("Forms.Label.1", "lsnnio" & l & pagina, True)
            With cControl
                .Caption = "SN"
                .Width = 35
                .Height = 9
                .Top = 25 + k
                .Left = 70
            End With
        Set cControl = form.Controls("nio" & masina).Add("Forms.Label.1", "lqtnio" & l & pagina, True)
            With cControl
                .Caption = "Qt"
                .Width = 35
                .Height = 9
                .Top = 25 + k
                .Left = 155
            End With
            k = k + 155
            l = l + 1
    Loop
End Sub
Public Sub-AddLabsNP(表单、pagina、replicare、den、den1、den2)
Dim k,l为整数
如果den=1,则
Set cControl=form.Controls(“io”和masina).Add(“Forms.Label.1”、“lden1”和pagina,True)
控制
.Caption=den1
.宽度=40
.高度=10
.Top=5
.左=5
以
Set cControl=form.Controls(“nio”和masina).Add(“Forms.Label.1”、“lden1nio”和pagina,True)
控制
.Caption=den1
.宽度=40
.高度=10
.Top=5
.左=5
以
如果结束
如果replicare=1,则
Set cControl=form.Controls(“io”和masina).Add(“Forms.Label.1”、“lden2”和pagina,True)
控制
.Caption=den2
.宽度=40
.高度=10
.Top=165
.左=5
以
Set cControl=form.Controls(“nio”和masina).Add(“Forms.Label.1”、“lden2nio”和pagina,True)
控制
.Caption=den2
.宽度=40
.高度=10
.Top=165
.左=5
以
如果结束
当l
一个是添加组合框

Public Sub AddCboxsNP(form, pagina, replicare, nrcboxs)
Dim k, l As Integer
l = 1
        Do While l < nrcboxs + 1
            Set cControl = form.Controls("io" & masina).Add("Forms.ComboBox.1", "combo" & l & pagina, True)
                With cControl
                    .Width = 60
                    .Height = 14
                    .Top = 40 + k
                    .Left = 5
                End With
            Set cControl = form.Controls("io" & masina).Add("Forms.TextBox.1", "sn" & l & pagina, True)
                With cControl
                    .Width = 80
                    .Height = 28
                    .Top = 40 + k
                    .Left = 70
                End With
            Set cControl = form.Controls("io" & masina).Add("Forms.TextBox.1", "q" & l & pagina, True)
                With cControl
                    .Width = 30
                    .Height = 14
                    .Top = 40 + k
                    .Left = 155
                End With
            Set cControl = form.Controls("nio" & masina).Add("Forms.ComboBox.1", "combo" & l & "nio" & pagina, True)
                With cControl
                    .Width = 60
                    .Height = 14
                    .Top = 40 + k
                    .Left = 5
                End With
            Set cControl = form.Controls("nio" & masina).Add("Forms.TextBox.1", "sn" & l & "nio" & pagina, True)
                With cControl
                    .Width = 80
                    .Height = 28
                    .Top = 40 + k
                    .Left = 70
                End With
            Set cControl = form.Controls("nio" & masina).Add("Forms.TextBox.1", "q" & l & "nio" & pagina, True)
                With cControl
                    .Width = 30
                    .Height = 14
                    .Top = 40 + k
                    .Left = 155
                End With
        If replicare = 2 Then
            Set cControl = form.Controls("io" & masina).Add("Forms.ComboBox.1", "combo" & l & "2" & pagina, True)
                With cControl
                    .Width = 60
                    .Height = 14
                    .Top = 200 + k
                    .Left = 5
                End With
            Set cControl = form.Controls("io" & masina).Add("Forms.TextBox.1", "sn" & l & "2" & pagina, True)
                With cControl
                    .Width = 80
                    .Height = 28
                    .Top = 200 + k
                    .Left = 70
                End With
            Set cControl = form.Controls("io" & masina).Add("Forms.TextBox.1", "q" & l & "2" & pagina, True)
                With cControl
                    .Width = 30
                    .Height = 14
                    .Top = 200 + k
                    .Left = 155
                End With
            Set cControl = form.Controls("nio" & masina).Add("Forms.ComboBox.1", "combo" & l & "2nio" & pagina, True)
                With cControl
                    .Width = 60
                    .Height = 14
                    .Top = 200 + k
                    .Left = 5
                End With
            Set cControl = form.Controls("nio" & masina).Add("Forms.TextBox.1", "sn" & l & "2nio" & pagina, True)
                With cControl
                    .Width = 80
                    .Height = 28
                    .Top = 200 + k
                    .Left = 70
                End With
            Set cControl = form.Controls("nio" & masina).Add("Forms.TextBox.1", "q" & l & "2nio" & pagina, True)
                With cControl
                    .Width = 30
                    .Height = 14
                    .Top = 200 + k
                    .Left = 155
                End With
            End If
            k = k + 35
            l = l + 1
        Loop
End Sub
Public Sub AddCboxsNP(表单、pagina、replicare、nrcboxs)
Dim k,l为整数
l=1
当lOption Explicit

Private Sub CommandButton1_Click()
    AddFramesNP Me, 3, 2
End Sub

Public Sub AddFramesNP(form As UserForm, masina, nrpag)
    Dim cControl As Object

    With form
        Set cControl = .MultiPage1.Pages(nrpag).Controls.Add("Forms.Frame.1", "io" & masina)
        With cControl
            .Caption = "IO"
            .Width = 210: .Height = 360: .Top = 2
            .Left = 5
        End With

        Set cControl = .MultiPage1.Pages(nrpag).Controls.Add("Forms.Frame.1", "nio" & masina)
        With cControl
            .Caption = "nIO"
            .Width = 210: .Height = 360: .Top = 2
            .Left = 220
        End With

        Set cControl = .MultiPage1.Pages(nrpag).Controls.Add("Forms.Frame.1", "desc" & masina)
        With cControl
            .Caption = "Descriere"
            .Width = 210: .Height = 360: .Top = 2
            .Left = 435
        End With
    End With
End Sub