
¿Hay alguna manera de hacer que el número que una fórmula devuelve un valor sin usar el método Cortar y Pegar?
Porque tendría que hacer eso en unas cien células diferentes cada día. Entonces Cortar y Pegar no es un método viable. ¿No existe algún atajo o alguna forma extraña de evitar esto?
Para simplificar... necesito que B1 sea = A4. Luego actualizaré A4 agregando los datos de los nuevos días y luego necesitaré tener B2 = A4, el valor anterior de B1.
Para que esto funcione, B1 debe haberse convertido en un valor y no en una fórmula que haga referencia a A4 porque necesito poder actualizar A4 todos los días. Entonces, después de cada día, la siguiente celda debe convertirse en un valor.
Recuerda que no puedo copiar y pegar una y otra vez.
¡Alguien me puede ayudar!
Respuesta1
Esto supone la columnaBy celularA4empezar completamente vacío. 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 A4 As Range, B1 As Range, n As Long
Set A4 = Range("A4")
Set B1 = Range("B1")
If Intersect(A4, Target) Is Nothing Then Exit Sub
Application.EnableEvents = False
If B1 = "" Then
B1 = A4
Else
n = Cells(Rows.Count, "B").End(xlUp).Row
Cells(n + 1, "B").Value = Cells(n, "B").Value - A4
End If
Application.EnableEvents = True
End Sub
Debido a que es código de hoja de trabajo, es muy fácilinstalary 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 .xlsm en lugar de .xlsx.
Aeliminarla 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
Con algo que tiene un patrón establecido como este, se puede crear un rango con nombre ("NR"), usando referencias relativas y seleccionando cuidadosamente la celda activa mientras se crea el rango con nombre, luego usarlo todos los días para pegar valores.
Quiero set pattern
decir que si el 1 de julio "tiene lugar" en las celdas B1, H4 y XX9, entonces el 2 de julio tendrá lugar inmediatamente debajo de esas celdas: B2, H4 y XX10. Y así sucesivamente durante cualquier mes determinado. NUNCA debería pasar a B2, H38, XX10 para el segundo día.
Puede seleccionar un rango con nombre en el cuadro a la izquierda de la barra de edición de fórmulas. El que muestra tu celda activa. Una vez seleccionado, simplemente Copy
, Paste|Special|Values
en un solo paso y listo. Seleccione el rango con nombre en el cuadro, luego copie y pegue. Todo listo.
Para que funcione, use referencias relativas (no $B$1: use B1), por lo que lo hará si está en B1, pero si se selecciona B2, haría B2 en su lugar.
El otro paso para que eso funcione es hacer que la primera celda sea su celda activa durante la creación del NR. Si es una celda debajo, seleccionará B2, no B1.
Cree la cadena que enumera las celdas en el rango como sea necesario, incluso si tiene que escribir todas las direcciones de celda "alrededor de cien". Es sólo una vez. Hay muchos trucos que pueden ayudar aprovechando el hecho de juntar hilos. Una vez hecho esto, ¡no lo revises examinando los pequeños fragmentos de texto! Selecciónelo y observe si seleccionó todas las celdas correctas. Es mucho más fácil verificar con precisión de esa manera: es similar a comparar dos páginas, carácter por carácter para ver si son iguales en lugar de colocar una sobre la otra, sostenerlas contra una luz y ver si hay alguna diferencia. Esto último no sólo es mucho más fácil, sino también más preciso.
Cree la cadena fuera de la función NR, luego cópiela y péguela en el cuadro Valor para el nuevo NR. No se permite escribir fuera del entorno sencillo y repleto de herramientas de una página de hoja de cálculo normal.
Por último, una rareza de Windows, no de Excel: la ÚLTIMA dirección de celda en el NR es en la que comenzará, no la PRIMERA. Pasará al primero si pasas TAB
, pero... ¿QUÉ? Entonces, enumere las celdas que comienzan con #2, #3, ... #última, #1 y tendrá seleccionada la que desea que sea la primera celda activa.
Aquí, eso no importa a copiar y pegar, sólo a "dónde estás" para comenzar a trabajar más, cuando esté hecho. Sin embargo, podría resultar útil considerar otros usos, otras hojas de cálculo.
Para reiterar, cada día seleccionaría una celda entre las que desea pegar valores, luego seleccionaría el rango, luego copiaría y pegaría. Eso es todo. No se necesitan macros, por lo que no es necesario aprender y el rango se puede editar o agregar fácilmente si algo cambia.