
Предположим, у меня есть рабочая книга, которая использует Rand()
в некоторых своих ячейках и в конечном итоге выдает некоторый результат в A1
.
Как создать запись, скажем, из 100 или 500 значений, которые появятся в этой ячейке (после обновления)?
Я предполагаю, что можно выполнить поиск на VBA и записать результаты в журнал, но мне было интересно, есть ли какой-то встроенный способ сделать это (возможно, с использованием сценариев или поиска цели или чего-то подобного).
решение1
Сначала включите новую вкладку под названиемистория для хранения результатов. Затем вставьте следующий макрос события в область кода рабочего листа вашего исходного рабочего листа:
Private Sub Worksheet_Calculate()
Dim wf As WorksheetFunction
Set wf = Application.WorksheetFunction
Dim hys As Worksheet, N As Long
Set hys = Sheets("hystory")
N = hys.Cells(Rows.Count, "A").End(xlUp).Row + 1
N = wf.Min(N, Rows.Count)
Application.EnableEvents = False
hys.Cells(N, "A").Value = [A1]
Application.EnableEvents = True
End Sub
Поскольку это код рабочего листа, его очень легко установить и использовать автоматически:
- щелкните правой кнопкой мыши имя вкладки в нижней части окна Excel
- выберите «Просмотреть код» — откроется окно VBE
- вставьте текст и закройте окно VBE
Если у вас возникли какие-либо сомнения, попробуйте сначала на пробном листе.
Если вы сохраните книгу, макрос будет сохранен вместе с ней. Если вы используете версию Excel позже 2003, вы должны сохранить файл как.xlsmскорее, чем.xlsx
Чтобы удалить макрос:
- откройте окна VBE, как указано выше
- очистить код
- закрыть окно VBE
Чтобы узнать больше о макросах в целом, см.:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
и
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
Чтобы узнать больше о макросах событий (код рабочего листа), см.:
http://www.mvps.org/dmcritchie/excel/event.htm
Для работы макросы должны быть включены.!
решение2
Обычный способ сделать это —Копироватьслучайные значения, а затемВставить значения. Если хотите, можете записать это как макрос.