我遇到了一个不寻常的问题。我有一个多页的应用程序,它包含大约10页,每页包含3-5页的另一个多页。问题是这个应用程序太“笨重”了,我想把它分成多个表单(每个页面一个表单)。在最初的应用程序中,正如我所说的,表单大约有10页,每一页上都有另外3-5页,每页上大约有3-20个组合框,4-40个文本框。它们都是在初始化时通过执行一段代码来加载的。现在..。我为每个页面复制了这段代码,并将其添加到替换它的表单的初始化中。代码如下所示:
Private Sub UserForm_Initialize()
Dim i As Integer
Dim ws1 As Worksheet
Dim pagini As range
Set ws1 = Worksheets("Config")
Dim cControl As Control
Set cControl = Me.Controls.Add("Forms.Multipage.1", "oly", True)
With cControl
.Width = 650
.Height = 380
.Top = 0
.Left = 0
End With
Me.Controls("oly").Pages.Remove (Page1)
Me.Controls("oly").Pages.Remove (Page2)
For Each pagini In ws1.range("pagoly")
Me.Controls("oly").Pages.Add (pagini)
Next pagini
i = 0
Do While i < 5
Set cControl = Me!oly.Pages(i).Add("Forms.Frame.1", "iooly" & i, True)
With cControl
.Caption = "IO"
.Width = 210
.Height = 340
.Top = 2
.Left = 5
End With
Set cControl = Me!oly.Pages(i).Add("Forms.Frame.1", "niooly" & i, True)
With cControl
.Caption = "nIO"
.Width = 210
.Height = 340
.Top = 2
.Left = 220
End With
Set cControl = Me!oly.Pages(i).Add("Forms.Frame.1", "descriere" & i, True)
With cControl
.Caption = "Descriere"
.Width = 210
.Height = 340
.Top = 2
.Left = 435
End With
Loop
End Sub到目前为止,它只是在这个表单的5个页面中的每一个页面上添加框架。问题是,当我想要运行它的时候,我得到了“没有足够的内存来完成这个操作”,我真的不知道为什么。然而,在之前的版本中,加载了50倍以上的内容,没有任何问题。你知道问题出在哪里吗,因为我真的不明白。
发布于 2011-08-01 01:10:06
你有
Do While i < 5
'stuff
Loop我看不到我在哪里改变了值,这样程序就会退出循环。我是不是遗漏了什么?
https://stackoverflow.com/questions/6890644
复制相似问题