
Supongamos que tengo un libro de trabajo que utiliza Rand()
en algunas de sus celdas y, finalmente, produce algún resultado en A1
.
¿Cómo puedo crear un registro de, digamos, 100 o 500 valores que aparecen en esa celda (después de las actualizaciones)?
Supongo que es posible realizar algunas búsquedas en VBA y registrar los resultados, pero me preguntaba si hay alguna forma integrada de hacerlo (tal vez usando escenarios o búsqueda de objetivos o algo similar).
Respuesta1
Primero incluya una nueva pestaña llamadahistoria para mantener los resultados. Luego inserte la siguiente macro de evento en el área de código de la hoja de trabajo de su hoja de trabajo original:
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
Debido a que es código de hoja de trabajo, es muy fácil de instalar y automático de usar:
- haga clic derecho en el nombre de la pestaña cerca de la parte inferior de la ventana de Excel
- seleccione Ver código; esto abre una ventana de VBE
- pegue las cosas y cierre la ventana de VBE
Si tiene alguna inquietud, primero pruébelo en una hoja de trabajo de prueba.
Si guarda el libro, la macro se guardará con él. Si está utilizando una versión de Excel posterior a 2003, debe guardar el archivo como.xlsmen vez de.xlsx
Para eliminar la macro:
- abra las ventanas de VBE como se muestra arriba
- borrar el código
- cerrar la ventana VBE
Para obtener más información sobre las macros en general, consulte:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
y
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
Para obtener más información sobre las macros de eventos (código de la hoja de trabajo), consulte:
http://www.mvps.org/dmcritchie/excel/event.htm
Las macros deben estar habilitadas para que esto funcione.!
Respuesta2
Una forma convencional de hacer esto esCopiarlos valores aleatorios y luegoPegar valores. Puedes grabar esto como una macro si quieres.