He aquí un método más sencillo y rápido para sustituir fórmulas por valores utilizando el comando especial de pegar. Está configurado para trabajar con el rango utilizado, pero el enfoque se puede reducir fácilmente (ver comentarios).
tell application "Microsoft Excel"
set ur to used range of active sheet -- copy from where
-- to reduce affected area…
-- set ur to intersect range1 ur range2 column "A:B"
copy range ur -- to clipboard
activate object range "A1" of active sheet -- paste where
paste special range "A1" what paste values
end tell
Dejo aquí mi respuesta original, ya que es válida y puede ser útil en otras circunstancias, como por ejemplo si se desea procesar más cada celda.
Esto tomará el valor de cada celda del rango usado de una hoja, y luego recorrerá cada celda de ese rango y reemplazará su contenido con su valor. He añadido una línea opcional para limitar el rango afectado.
tell aplicación "Microsoft Excel" tell libro 1 tell hoja activa
set ur to used range -- where
set ur to intersect range1 ur range2 column "A:B" -- limit where
set cv to value of cells of ur -- what
repeat with x from 1 to count of cells of ur
set value of cell x of ur to item x of cv
end repeat
end tell
end tell
fin del relato
Por último, aquí hay una solución con el ratón que encontré en macexcel.com en Cambiar fórmulas por valores en el modo manual 2.
Seleccione el rango que desea afectar y pase el cursor por el borde derecho o inferior del rango seleccionado. El cursor cambiará a una mano. Haga clic con el botón derecho y comience a arrastrar la selección, entonces el cursor cambiará a un puño. Asegúrese de que no ha movido la selección y suelte el botón. Aparecerá un menú contextual alternativo. Haga clic en Copy Here as Values Only
y los valores de la selección se pegarán sobre su contenido actual. Y por supuesto, puede crear un atajo de teclado para Pegar Valores que permite una solución rápida y sencilla.
1 votos
Parece bastante razonable cuando se tiene la opción de pegar fórmulas o valores especiales o formatos, etc., como se desee - estoy contento con esa flexibilidad...
1 votos
Desde el teclado su + C (para copiar) y luego + V (para abrir la ventana especial de pegado) + V (para seleccionar el Valor) + . Así que son 7 pulsaciones de teclas. Si desea reemplazar sólo en una celda, entonces F2 (ir al modo de edición de celdas) y luego F9 (reemplazar la fórmula con el valor).
0 votos
@SolarMike su no flexibilidad cuando no tienes una función adecuada para hacer el trabajo. "Consolidar datos" es flexibilidad.
0 votos
@AivarPaalberg gracias por el aporte. Parece bastante fácil, pero cada paso extra es un problema cuando tienes varios archivos al día, con fórmulas dispersas por diferentes zonas de la hoja. Intentaré escribir un script para hacer todos los trazos en una sola pasada.
0 votos
Cuando instalo Excel, una de las cosas que hago el primer día es añadir un puñado de elementos a las barras de herramientas, especialmente "pegar valores" (y "seleccionar la región actual"). También puedes asignar un atajo de teclado para pegar valores, lo que reduciría el número de pulsaciones.
0 votos
En mi opinión, vale la pena entender mejor el "problema de las hojas que contienen fórmulas". ¿Qué tipo de problemas? ¿Qué problema se resuelve sustituyendo las fórmulas por valores?
0 votos
@AivarPaalberg para ser sincero no lo sé, hay una gran cadena de correos electrónicos y tengo una captura de pantalla con #REF en las celdas. Así que sustituyendo las fórmulas por sus valores se solucionó el problema. Básicamente las fórmulas están buscando datos en hojas secundarias dentro del mismo libro de trabajo. Supongo que es algo relacionado con la compatibilidad entre versiones de software o idioma/región, no puedo estar seguro.
0 votos
Según mi experiencia, se trata de un problema relacionado con la creación del archivo y debería tratarse en esa fase. Si las referencias ya no están disponibles, debería tratarse mientras se crean esas referencias. ¿Por qué no están disponibles? Si las fórmulas no son importantes, se puede seleccionar toda la hoja y pegar los valores (sin necesidad de seleccionar celdas específicas), esto reemplazará todas las fórmulas con valores. Como la hoja de todos modos no funciona como se espera, no debería ser un problema.
0 votos
@AivarPaalberg nuestro cliente (Google Play) tiene su propio sistema de formatos, por lo que la fórmula irá a buscar datos en nuestro propio sistema de metadatos (no podemos cambiarlo porque no trabajamos sólo para Google y además no son nuestro cliente principal - que será Apple TV). No hay cálculos de por medio sino un montón de fórmulas VLOOKUP. Me encantaría saber por qué están recibiendo #REF. Sólo hay dos hojas involucradas. Si tienes tiempo, por favor ve y echa un vistazo rápido, lo estoy compartiendo desde mi disco: bit.ly/3kzAi6l
0 votos
Este archivo contiene enlaces externos al archivo /Volúmenes/RAID-QC01/SOFA DIGITAL/JOBS/QC/MATEUS/_RONALDO/Planilhas/FOURKIDSANDIT_SOFA_20201210_3381.xlsm (en la hoja 'DATASOURCE', U7, V7 etc). En el menú de Excel: Datos > Editar enlaces > Aviso de inicio se pueden elegir varias opciones, una de ellas 'No mostrar la alerta y no actualizar los enlaces automáticos', esto debería ser suficiente para evitar las actualizaciones automáticas de los archivos no disponibles para referenciar y así deshacerse de #REF.
0 votos
@AivarPaalberg muy buenas señor, gracias por su valioso tiempo.