Buscar y Reemplazar (Ctrl+L) es tal vez una de las funcionalidades menos apreciadas por los usuarios de Excel. Esta funcionalidad nos permite ahorrar mucho tiempo y no poco dolores de cabeza usándola con un poco de imaginación.
Reemplazar referencias en fórmulas
Supongamos que en una celda tenemos esta (monstruosa) fórmula
Esta fórmula extrae la palabra que aparece en la celda A2 en la instancia que señalada en la celda B2 (aparece en esta nota sobre como extraer palabras de una frase).
Queremos reemplazar la referencia a la celda A2 por una referencia, digamos, a la celda B1.
Una posibilidad es hacerlo manualmente, lo cual no sólo es tedioso sino que puede conducirnos a cometer errores. Con Buscar y Reemplazar es cuestión de segundos.
Como la fórmula está en una única celda es crítico seleccionar dos celdas, la que contiene la fórmula y, si es posible, una celda contigua en blanco
En la ventanilla Buscar ponemos A2 y en Reemplazar B1, al apretar Reemplazar todos obtenemos
Todas las instancias de A2 han sido reemplazadas y la fórmula da ahora el resultado correcto. Esta técnica también es útil cuando tenemos que modificar fórmulas que están dispersas en la hoja.
Reemplazar formatos
Cuando de formatos se trata, soy fanático del uso de estilos. Pero si no usamos estilos y queremos reemplazar el formato de varias celdas, podemos usar Buscar y Reemplazar.
En este ejemplo, parte de las celdas están formadas con la fuente Arial 11 negrita y fondo celeste y el resto con la fuente Calibri 16 sin fondo de color.
Queremos cambiar el formato todas las celdas con el formato Arial 11 negrita a Calibri 16 sin fondo.
Después de seleccionar el rango, abrimos Buscar y Reemplazar y apretamos el botón de opciones. Apretamos formato de celda en Buscar
Elegimos una de las celdas del rango que contiene el formato que queremos reemplazar
Ahora abrimos la opción formato en Reemplazar y también aquí usamos la opción Elegir formato de celda y seleccionamos una celda que contenga el formato elegido
Ahora apretamos Reemplazar todos, y ya está!
Sugerencias y ayuda para Excel en español. Ejemplos de funciones y fórmulas, gráficos, automatización con Vba, Power Query y PowerPivot
jueves, agosto 12, 2010
martes, agosto 10, 2010
Tips Excel – Repetir la última acción
¿Alguien conoce una traducción apropiada para la palabra "tip" en inglés? "Tip" es ese consejo afortunado que nos ahorra tiempo, dinero o ambos al mismo tiempo (después de todo, "time is money").
La pregunta viene a colación de una serie de notas cortas que estaré publicando sobre caminos para incrementar la productividad en el trabajo con Excel.
El tip de hoy es F4 (o Ctrl+Y) – repetir la última acción. Al apretar F4 Excel repite la última acción ejecutada. Esto es muy útil cuando aplicamos formatos, ya sea a celdas o a objetos (como gráficos, por ejemplo).
Veamos algunos ejemplos:
# repetir formato en celda
Esta técnica funciona tanto en Excel Clásico como en Excel 2007
# repetir formato en eje de gráfico (funciona en Excel Clásico)
Esta técnica no funciona en Excel 2007
La pregunta viene a colación de una serie de notas cortas que estaré publicando sobre caminos para incrementar la productividad en el trabajo con Excel.
El tip de hoy es F4 (o Ctrl+Y) – repetir la última acción. Al apretar F4 Excel repite la última acción ejecutada. Esto es muy útil cuando aplicamos formatos, ya sea a celdas o a objetos (como gráficos, por ejemplo).
Veamos algunos ejemplos:
# repetir formato en celda
Esta técnica funciona tanto en Excel Clásico como en Excel 2007
# repetir formato en eje de gráfico (funciona en Excel Clásico)
Esta técnica no funciona en Excel 2007
martes, julio 20, 2010
Control de cambios personalizado en Excel – segunda nota
He recibido varios comentarios sobre la nota de ayer sobre el control de cambios personalizado. Entre ellos me piden dos modificaciones que encuentro muy apropiadas:
1 – que el último cambio aparezca en primer lugar en el cuadro de texto, de manera que siempre veamos los últimos cambios;
2 – que los cambios queden registrados en una hoja del cuaderno.
Ambas modificaciones son bastante sencillas y en esta nota mostraremos cómo hacerlas.
Para que el último cambio aparezca siempre en primer lugar en el cuadro de texto modificamos levemente el código de la macro "track_change"
Sub track_change()
Dim strPrevious As String
With ActiveCell
If .Comment Is Nothing Then
.AddComment Text:=Format(Now, "dd/mm/yy hh:mm") & " - " & .Value
Else
strPrevious = .Comment.Text
.Comment.Text Text:=Format(Now, "dd/mm/yy hh:mm") & " - " & .Value _
& Chr(10) & strPrevious
End If
End With
Call record_in_sheet
End Sub
Todo lo que hacemos es cambiar el orden de construcción del texto del comentario poniendo la variable "strPrevious" al final de la cadena de texto.
Para registrar los cambios en una hoja, empezamos, obviamente, por agregar la hoja al cuaderno
Como ven, hemos agregado la hoja "control" con cuatro campos (columnas): celda, fecha y hora, valor e introducido por.
El código para introducir los datos en esta hoja es el siguiente
Sub record_in_sheet()
Dim lngFirstFreeRow As Long
With Sheets("control")
lngFirstFreeRow = WorksheetFunction.CountA(.Range("A:A")) + 1
.Cells(lngFirstFreeRow, 1).Value = ActiveCell.Address
.Cells(lngFirstFreeRow, 2).Value = Format(Now, "dd/mm/yy hh:mm")
.Cells(lngFirstFreeRow, 3).Value = ActiveCell.Value
.Cells(lngFirstFreeRow, 4).Value = Environ("username")
End With
End Sub
Como ven, sencillo y sin muchas vueltas. Para activar el código hemos agregado la línea "Call record_in_sheet" en el código anterior. De esta manera, el evento de la hoja hace correr el código que crea el comentario con los cambios y este código a su vez, hace correr la macro que registra el cambio en la hoja "control".
Después de introducir y cambiar algunos valores en la lista de precios
La hoja de control los refleja de esta manera
1 – que el último cambio aparezca en primer lugar en el cuadro de texto, de manera que siempre veamos los últimos cambios;
2 – que los cambios queden registrados en una hoja del cuaderno.
Ambas modificaciones son bastante sencillas y en esta nota mostraremos cómo hacerlas.
Para que el último cambio aparezca siempre en primer lugar en el cuadro de texto modificamos levemente el código de la macro "track_change"
Sub track_change()
Dim strPrevious As String
With ActiveCell
If .Comment Is Nothing Then
.AddComment Text:=Format(Now, "dd/mm/yy hh:mm") & " - " & .Value
Else
strPrevious = .Comment.Text
.Comment.Text Text:=Format(Now, "dd/mm/yy hh:mm") & " - " & .Value _
& Chr(10) & strPrevious
End If
End With
Call record_in_sheet
End Sub
Todo lo que hacemos es cambiar el orden de construcción del texto del comentario poniendo la variable "strPrevious" al final de la cadena de texto.
Para registrar los cambios en una hoja, empezamos, obviamente, por agregar la hoja al cuaderno
Como ven, hemos agregado la hoja "control" con cuatro campos (columnas): celda, fecha y hora, valor e introducido por.
El código para introducir los datos en esta hoja es el siguiente
Sub record_in_sheet()
Dim lngFirstFreeRow As Long
With Sheets("control")
lngFirstFreeRow = WorksheetFunction.CountA(.Range("A:A")) + 1
.Cells(lngFirstFreeRow, 1).Value = ActiveCell.Address
.Cells(lngFirstFreeRow, 2).Value = Format(Now, "dd/mm/yy hh:mm")
.Cells(lngFirstFreeRow, 3).Value = ActiveCell.Value
.Cells(lngFirstFreeRow, 4).Value = Environ("username")
End With
End Sub
Como ven, sencillo y sin muchas vueltas. Para activar el código hemos agregado la línea "Call record_in_sheet" en el código anterior. De esta manera, el evento de la hoja hace correr el código que crea el comentario con los cambios y este código a su vez, hace correr la macro que registra el cambio en la hoja "control".
Después de introducir y cambiar algunos valores en la lista de precios
La hoja de control los refleja de esta manera
Suscribirse a:
Entradas (Atom)