Excel: generar una lista a partir de la entrada de una sola celda
0
Mi pregunta es, básicamente, ¿cómo puede generar una lista en Excel basada en una entrada de celda única?
Por ejemplo, el usuario escribe 10 y luego lo reemplaza por 20 y luego 30, etc., ¿es posible generar una lista como:
10
20
30,
etc.
EDITAR: Como requisito adicional, ¿es posible que ajuste el código o proporcione un código adicional para permitir instancias adicionales de esto? Por ejemplo, generar una lista adicional para una segunda o tercera entrada de celda única, etc.
Este ejemplo supervisa los cambios del usuario en la celda A1. La lista se construye en la columna B a partir de la celda B2
Coloque la siguiente macro de evento en el área de código de la hoja de trabajo:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RR As Range, N As Long, v As Variant
Set RR = Intersect(Target, Range("A1"))
If RR Is Nothing Then Exit Sub
v = Range("A1").Text
N = Cells(Rows.Count, "B").End(xlUp).Row + 1
Application.EnableEvents = False
Range("B" & N).Value = v
Application.EnableEvents = True
End Sub
Debido a que es un código de hoja de trabajo, es muy fácil de instalar y usar automáticamente:
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 VBE
pegue las cosas y cierre la ventana VBE
Si tiene alguna duda, primero pruébelo en una hoja de prueba.
Si guarda el libro, la macro se guardará con él. Si está utilizando una versión de Excel más tarde que 2003, debe guardar el archivo como .xlsm en lugar de .xlsx
Para eliminar la macro:
abrir las ventanas VBE como arriba
borrar el código
cierra la ventana de VBE
Para obtener más información sobre las macros en general, consulte:
Gracias por la respuesta, funcionó perfectamente. Si necesito hacer esto varias veces en la misma hoja de trabajo (es decir, crear otra lista desde una celda de entrada diferente), ¿puedo duplicar la macro (aparte de cambiar obviamente la referencia de celda) o tendré que cambiar una línea allí?
Alistair
@Alistair ¡Actualice sus requisitos y actualizaré el código!
Estudiante de Gary
He editado y actualizado mi publicación original, supongo que eso es lo que quieres decir con requisitos. ¡Gracias!
Alistair
hola, me pregunto si tuvo la oportunidad de ver los requisitos actualizados. Me encantaría saber si tienes una posible solución. ¡Muchas gracias!
Alistair
¡Lo revisaré mañana!
Estudiante de Gary
0
En la celda A1 ponga 10, en A2 ponga = A1 + $ A $ 1
Tire de la celda A2 hacia abajo.
He subido la solución .
Hola Davidenko, gracias por tu respuesta. Es posible que no haya proporcionado el mejor ejemplo, en lugar de agregar la celda anterior, me gustaría que la lista contenga el número único que se ingresa cada vez. Por ejemplo, si el usuario escribe 10 y luego reemplaza por 9, luego 14 y luego 20 en la celda individual, la lista debe generar como 10 9 14 20. Espero que eso ayude a su comprensión, avíseme si tiene alguna otra idea.
En la celda A1 ponga 10, en A2 ponga = A1 + $ A $ 1
Tire de la celda A2 hacia abajo.
He subido la solución .
fuente