2015-05-08 3 views
0

У меня есть пользователь, который нуждается в доступе к необработанным данным на листе. Мы собираем цифры в течение месяца на основе оценки. В конце месяца цифры должны быть скорректированы до полной суммы. Пользователь более или менее случайным образом настраивает некоторые или все элементы до тех пор, пока не будет введена оценка = точная сумма. Другими словами, я не могу просто отрегулировать каждый элемент, скажем, на 2% или 50 долларов. Пользователь вручную переходит через список элементов и назначает корректировки. Мой вопрос: могу ли я отправить пользователя на рабочий лист, чтобы внести изменения и вернуть пользователя в форму пользователя, которая называется листом?excel vba таблицы доступа

ответ

0

Say конец мы через месяц имеем:

enter image description here

Так значения были введены в A1 через A31
Существует SUM() формула 8л 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

+0

Студент Гэри: Вы положили много работы в этом, и я благодарю вас .... Тем не менее, ваше решение еще решение vba со случайным распределением по формуле. Я должен позволить пользователю перейти вручную и настроить те, которые она хочет. Есть ли способ заглянуть в рабочий лист из пользовательской формы и вернуться после того, как она закончит ее корректировки. –

Смежные вопросы