Можно ли при помощи VBA прописать в ячейки определенные числа (например 100, 200, 250, 500, 1000), но сделать это как случайными числами??? Например: ПУСК ячейка А1 = 100, В2 = 1000. СТОП ПУСК ячейка А1 = 500, В2 = 100. СТОП ПУСК ячейка А1 = 200, В2 = 500. СТОП и так далее
Я предполагаю, что здесь нужно использовать Randomize, но как сгенерировать?
Можно ли при помощи VBA прописать в ячейки определенные числа (например 100, 200, 250, 500, 1000), но сделать это как случайными числами??? Например: ПУСК ячейка А1 = 100, В2 = 1000. СТОП ПУСК ячейка А1 = 500, В2 = 100. СТОП ПУСК ячейка А1 = 200, В2 = 500. СТОП и так далее
Я предполагаю, что здесь нужно использовать Randomize, но как сгенерировать?Dмитрий
For Each aCell In mR.Cells Select Case Int(5 * Rnd+1) Case 1 aCell = 100 Case 2 aCell = 200 Case 3 aCell = 250 Case 4 aCell = 500 Case 5 aCell = 1000 End Select Next
[/vba]
Тогда можно так (влоб): [vba]
Код
For Each aCell In mR.Cells Select Case Int(5 * Rnd+1) Case 1 aCell = 100 Case 2 aCell = 200 Case 3 aCell = 250 Case 4 aCell = 500 Case 5 aCell = 1000 End Select Next
Спасибо большое! Все варианты работают. Вот какой код у меня получился: [vba]
Код
Private Sub Worksheet_Activate() Randomize End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) CaseDigital End Sub Sub CaseDigital() Dim aCell As Range, R As Range Set R = Selection
For Each aCell In R.Cells aCell.Value = Choose(Int(5 * Rnd + 1), 100, 200, 250, 500, 1000) Next Set R = Nothing End Sub
[/vba] Могу ли я как-то это дело подвести под галочку? Типа: есть галочка - работает Ведь ActiveX создает свою среду, а у меня уже есть Private Sub Worksheet_Activate и Sub CaseDigital(). Тупо впихнуть все под "галочку"? Вряд ли будет работать
Спасибо большое! Все варианты работают. Вот какой код у меня получился: [vba]
Код
Private Sub Worksheet_Activate() Randomize End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) CaseDigital End Sub Sub CaseDigital() Dim aCell As Range, R As Range Set R = Selection
For Each aCell In R.Cells aCell.Value = Choose(Int(5 * Rnd + 1), 100, 200, 250, 500, 1000) Next Set R = Nothing End Sub
[/vba] Могу ли я как-то это дело подвести под галочку? Типа: есть галочка - работает Ведь ActiveX создает свою среду, а у меня уже есть Private Sub Worksheet_Activate и Sub CaseDigital(). Тупо впихнуть все под "галочку"? Вряд ли будет работатьDмитрий
Возможно я в чем то ошибся , но у меня все работает. При нажатии на любую ячейку, появляется случайное число из допустимо возможных (100, 500 и т.д.) Очень полезная штука, для меня, например. Приходится часто вводить выдуманные числа, дабы скрыть прорехи. В последний раз (после двух тысяч таких чисел) я и решил что-нибудь "наваять" в таком роде. Беда лишь в том, что я работаю на этом же листе, и случайное или преднамеренное нажатие на ячейку выведет случайное число. Вот я и подумал может можно поставить галочку, либо кнопку какую-то - в принципе неважно. Нажал, наставил чисел сколько нужно, отжал и дальше работай. ФАЙЛ НИЖЕ
Возможно я в чем то ошибся , но у меня все работает. При нажатии на любую ячейку, появляется случайное число из допустимо возможных (100, 500 и т.д.) Очень полезная штука, для меня, например. Приходится часто вводить выдуманные числа, дабы скрыть прорехи. В последний раз (после двух тысяч таких чисел) я и решил что-нибудь "наваять" в таком роде. Беда лишь в том, что я работаю на этом же листе, и случайное или преднамеренное нажатие на ячейку выведет случайное число. Вот я и подумал может можно поставить галочку, либо кнопку какую-то - в принципе неважно. Нажал, наставил чисел сколько нужно, отжал и дальше работай. ФАЙЛ НИЖЕDмитрий