Генерация целых чисел в ячейке - VBA
Формулировка задачи:
Приветствую, уважаемые программисты! Помогите, пожалуйста написать код для макроса в MSE.
Пишу такой код, а рандом выдает и дробные, и отрицательные числа, а мне надо, чтобы выдавались значения типа Byte, например. Кто поможет помочь и написать нормальный код?
Листинг программы
- Sub GetRandom()
- Randomize
- ThisWorkbook.Worksheets("Лист1").Range("A1").Value = Rnd * 50 - 20
- End Sub
Решение задачи: «Генерация целых чисел в ячейке»
textual
Листинг программы
- Sub GetRandom()
- Dim chgRange As Range, tstRange As Range, c As Range
- Dim bestNum() As Long, num() As Long, i&, j&, bestCrit&
- Set chgRange = Range("B10,B15,B22,B25,B32,B20,B7") 'изменяемые ячейки
- Set tstRange = Range("L7") 'критерий (чем больше, тем лучше)
- ReDim num(1 To chgRange.Count)
- Application.Calculation = xlCalculationManual
- Application.ScreenUpdating = False
- Randomize
- For i = 1 To 10000 'число повторов
- j = 0
- For Each c In chgRange
- j = j + 1
- num(j) = Int(21 + Rnd * 30) 'диапазон случайных - от 21 до 50
- c = num(j)
- Next
- ActiveSheet.Calculate
- If tstRange > bestCrit Then
- bestNum = num
- bestCrit = tstRange
- If bestCrit = 28 Then Exit For
- End If
- Next
- j = 0
- For Each c In chgRange
- j = j + 1
- c = bestNum(j)
- Next
- Application.Calculation = xlCalculationAutomatic
- Application.ScreenUpdating = True
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д