因此,我创建了一个用户表单,该表单将接受用户的输入,以创建一个有助于评估我的工作的金融投资的工具。我的用户表格考虑了投资产生的任何可能的收入和费用,以及投资将有用的任何年限。为此,我添加了 3 个按钮,一个创建新的收入行,另一个创建新的费用行,最后一个新的年份列,给我两个矩阵,分别是 rev x 年和费用 x 年。如果您需要更多详细信息,请告诉我!
看到的小“+”按钮添加了收入或支出行或年份列。我的问题是,当我添加一行收入时,我必须降低支出,即使是在运行时创建的支出。我的方法是使用控件集合和文本框的名称(我已将其制成一个矩阵:e1y1、e2y2、e1y2、e2y2,... 等等)对每个语句和一对夫妇使用一些的循环。程序可以正常运行和编译,但唯一向下移动的是标签和框架,它们位于 for each 和循环代码之外。我附上了相关代码,但如果您还有其他需要,请告诉我,非常感谢您的帮助!
Private Sub moveControls()
Dim ctl As Control
Dim cell As TextBox
Let y = 0
Let e = 0
For Each ctl In Me.Controls
If TypeOf ctl Is TextBox Then
cell = ctl
Do While y < years
Do While e < expenses
'Names of the small cells that are in a grid
' which are the expense values
If cell.name = "e" & e & "y" & y Then
cell.top = cell.top + 19
End If
'Names of the larger cells on the left under
' "Expenses" which are the expense names
If cell.Name = "expenses" & e Then
cell.top = cell.top + 19
End If
e = e + 1
Loop
y = y + 1
Loop
End If
Next ctl
'This part of the code executes perfectly
revenuesframe.top = revenuesframe.top + 19
expenseslbl.top = expenseslbl.top + 19
addxpsbutton.top = addxpsbutton.top + 19
End Sub