Предположим, у меня есть рабочая книга, которая использует Rand() в некоторых своих ячейках и в конечном итоге дает результат в A1 .

Как я могу создать запись, скажем, 100 или 500 значений, которые появляются в этой ячейке (после обновления)?

Я предполагаю, что можно сделать какой-то поиск VBA и записать результаты, но мне было интересно, есть ли какой-то встроенный способ сделать это (возможно, используя сценарии или поиск цели или что-то подобное).

2 ответа2

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

Поскольку это код рабочего листа, его очень легко установить и использовать автоматически:

  1. щелкните правой кнопкой мыши имя вкладки в нижней части окна Excel
  2. выберите View Code - откроется окно VBE
  3. вставьте материал и закройте окно VBE

Если у вас есть какие-либо проблемы, сначала попробуйте на пробную версию.

Если вы сохраните книгу, макрос будет сохранен вместе с ней. Если вы используете версию Excel более поздней, чем в 2003 году, вы должны сохранить файл как .xlsm, а не .xlsx

Чтобы удалить макрос:

  1. вызвать окна VBE, как указано выше
  2. очистить код
  3. закройте окно 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

Макросы должны быть включены, чтобы это работало !

0

Обычный способ сделать это - скопировать случайные значения, а затем вставить значения.  Вы можете записать это как макрос, если хотите.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .