excel vba, доступ к листам

63
4

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

спросил(а) 2015-05-08T19:55:00+03:00 6 лет, 1 месяц назад
1
Решение
125

Скажем, в конце месяца у нас есть:

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

ответил(а) 2015-05-08T20:39:00+03:00 6 лет, 1 месяц назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема