1

因此,我创建了一个用户表单,该表单将接受用户的输入,以创建一个有助于评估我的工作的金融投资的工具。我的用户表格考虑了投资产生的任何可能的收入和费用,以及投资将有用的任何年限。为此,我添加了 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
4

0 回答 0