Создание записи для сгенерированных номеров в VBA - PullRequest
0 голосов
/ 19 марта 2019

Я создаю лист Excel, чтобы помочь мне с преподаванием.

Моя цель - создать два случайных числа, вычислить их средние арифметические и геометрические средние и сравнить их. Эту часть я закончил.

Я создал макрос и две функции, которые генерируют случайные числа, а затем вводят числа в нужные ячейки:

Sheets("Sheet1").Range("L1").Value = NewRandom()

Sheets("Sheet1").Range("M1").Value = NewRandom2()

Я создал кнопку для выполнения макроса.

Как я могу сделать запись того, что я генерировал в обозначенной области U7: V200, на том же листе?

Моя цель: при первом нажатии кнопки два сгенерированных числа будут записаны на U7 и V7 соответственно. Во второй раз, когда я нажму, два сгенерированных числа будут записаны на U8 и V8 и т. Д.

Ответы [ 2 ]

2 голосов
/ 19 марта 2019

Подпрограмма ниже найдет следующую пустую строку на основе столбца "U" вашего листа.XLROW обозначает строку, в которой вы хотите начать поиск пустой строки.Как только будет найдена пустая строка, два случайных значения, которые вы передали подпрограмме, будут введены в первую доступную пустую строку.

Убедитесь, что вы изменили «Sheet1» на имя, если оно у вас есть,листа, который вы используете в Excel.

Public Sub NEXTEMPTY(VAL1 As Integer, VAL2 As Integer)
Dim XLROW As Integer
XLROW = 7
Do Until Sheet1.Range("U" & XLROW) = ""
    XLROW = XLROW + 1
Loop
Sheet1.Range("U" & XLROW).Value = VAL1
Sheet1.Range("V" & XLROW).Value = VAL2
End Sub

Затем вы можете просто вызвать сабвуфер где угодно, используя:

Call NEXTEMPTY(RANDOM1, RANDOM2)

РЕДАКТИРОВАТЬ: Вы также можете использовать это в До До.Это более предпочтительно.

Do Until IsEmpty(Sheet1.Range("U" & XLROW))
2 голосов
/ 19 марта 2019

Это всего лишь вопрос поиска последнего ряда и вставки в него ...

dim lr as long
lr = cells(rows.count,"U").end(xlup).row
cells(lr+1,"U").value = randomnumber1
cells(lr+1,"V").value = randomnumber2

Предполагается, что вы всегда соединяете U / V, поэтому вам нужен только 1 последний ряд

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...