На самом деле я работаю над макросом, который будет случайным образом распределять задачу сотруднику в соответствии с назначенным процентом.Я не смог подготовить / получить точный код VBA для него.Обращение за помощью по этому вопросу.Например, у меня есть лист с несколькими столбцами (A - Задача, B - Образец 1, C - Назначен) и строками (содержит задачи, т.е. Задачи 1 - Задача 8).Также у меня есть список сотрудников с процентом распределения.Сачин - 50% Рахул - 30% Аджай - 20%
Какой конечный результат я хочу, чтобы применить фильтр «А» в столбце (Пример 1) и назначить сотруднику задачу случайным образом с их процентом на видимых ячейках.
Я смог получить его с помощью метода цикла;однако я смотрю это методом рандомизации.Я имею в виду случайное распределение с соответствующими процентами.Спасибо!Пожалуйста, смотрите ниже код -
Dim Total as Integer
Dim Sachin as Integer
Dim Rahul as Integer
Dim Ajay as Integer
Dim i, j as Integer
With Sheets("Sheet1").Range("A1").CurrentRegion
.AutoFilter Field:=2, Critria1:="A"
End With
ActiveSheet.Range("A2:C" & Cells(Row.Count, "A").End(xlUp).Row).SpecialCells(xlCellTypeVisible).Select
Set RowRange = Selection
Total = 0
For Each rw In RowRange.Rows
Total = Total + 1
Next rw
Sachin = Total * 0.5
Rahul = Total * 0.25
Ajay = Total * 0.25
i = 0
For Each rw In RowRange.Rows
j = i mod 3
If Sachin >=1 And j = 0 Then
Cells(rw.Row, 10) = "Sachin"
Sachin = Sachin - 1
ElseIf Rahul = 0 And Ajay = 0 Then
Cells(rw.Row, 10) = "Sachin"
Sachin = Sachin - 1
End If
If Rahul >=1 And j = 1 Then
Cells(rw.Row, 10) = "Rahul"
Rahul = Rahul - 1
End If
If Ajay >=1 And j = 2 Then
Cells(rw.Row, 10) = "Ajay"
Ajay = Ajay - 1
End If
i = i + 1
Next rw
End Sub