excel vba访问工作表

时间:2015-05-08 16:55:44

标签: excel vba userform worksheet

我有一个用户需要访问工作表中的原始数据。我们根据估算值在整个月内收集数字。在月底,数字需要调整到确切的总量。用户或多或少地随机调整一些或所有项目,直到输入的估计值=确切的数量。换句话说,我不能只调整每件商品,比如2%或50美元。用户手动通过项目列表并分配调整。我的问题是:我可以将用户发送到工作表进行调整并让用户返回调用工作表的用户窗体吗?

1 个答案:

答案 0 :(得分:0)

说一个月结束我们有:

enter image description here

所以在 A1 中输入值 A31
有一个 SUM()公式8n A32

要执行调整,请在 B32 中输入实际月份值并运行此小宏:

Sub dural()
    Dim v1 As Long, v2 As Long, delta As Long
    v1 = Range("A32").Value
    v2 = Range("B32").Value
    If v1 = v2 Then Exit Sub
    delta = v2 - v1

    If delta > 0 Then
        For i = 1 To delta
        j = Application.WorksheetFunction.RandBetween(1, 31)
        Cells(j, 1).Value = Cells(j, 1).Value + 1
        Next i
    Else
        For i = 1 To -delta
            j = Application.WorksheetFunction.RandBetween(1, 31)
            Cells(j, 1).Value = Cells(j, 1).Value - 1
        Next i
    End If
End Sub

结果:

enter image description here