Se pueden seleccionar varias celdas de Excel (ya sea contiguamente o no) utilizando el método abreviado de teclado Ctrl+ clic.
¿Cómo anula la selección de una o más de estas celdas seleccionadas previamente?
fuente
Se pueden seleccionar varias celdas de Excel (ya sea contiguamente o no) utilizando el método abreviado de teclado Ctrl+ clic.
¿Cómo anula la selección de una o más de estas celdas seleccionadas previamente?
Al usar las teclas MAYÚS y / o CTRL, puede seleccionar rangos no contiguos. Sin embargo, si selecciona una celda o área por error, no hay una forma integrada de eliminar eso de la selección sin perder toda la selección y tener que comenzar de nuevo. Esta página describe los procedimientos de VBA, UnSelectActiveCell y UnSelectCurrentArea que eliminarán la celda activa o el área que contiene la celda activa de la selección actual. Todas las demás celdas en la Selección permanecerán seleccionadas.
Su mejor opción sería agregarlos a su libro de trabajo Macro personal para que estén disponibles para todos los libros abiertos en Excel.
Este procedimiento eliminará la celda activa de la selección .
Sub UnSelectActiveCell()
Dim R As Range
Dim RR As Range
For Each R In Selection.Cells
If StrComp(R.Address, ActiveCell.Address, vbBinaryCompare) <> 0 Then
If RR Is Nothing Then
Set RR = R
Else
Set RR = Application.Union(RR, R)
End If
End If
Next R
If Not RR Is Nothing Then
RR.Select
End If
End Sub
Este procedimiento eliminará el área que contiene la celda activa de la selección.
Sub UnSelectCurrentArea()
Dim Area As Range
Dim RR As Range
For Each Area In Selection.Areas
If Application.Intersect(Area, ActiveCell) Is Nothing Then
If RR Is Nothing Then
Set RR = Area
Else
Set RR = Application.Union(RR, Area)
End If
End If
Next Area
If Not RR Is Nothing Then
RR.Select
End If
End Sub
UnSelectActiveCell
más rápido si se une por rangos y solo recorre las celdas siNot Intersect(Area,ActiveCell) Is Nothing
. Puede que no sea el caso si laIntersect
función es mucho más lenta que laStrComp
función que no puede compensar la reducción en las llamadas aUnion
.deselect
una celda. ¡Es absolutamente ridículo! ¿Estoy seleccionando cada 2da columna y si me equivoco, debo comenzar de nuevo? Eso es% & * ing loco!En este artículo de ExtendOffice se describe una forma más sólida de deseleccionar varias celdas . Incluye un mensaje adicional, pero puede anular la selección de un número arbitrario de celdas / selecciones a la vez (en lugar de anular la selección solo de la celda o área activa)
Estoy publicando el script aquí, con una pequeña mejora de usabilidad (eliminé condicionalmente el primer aviso redundante de la publicación original):
Para usarlo, se realiza una selección, invocar la
DeselectCells
macro (que es mejor que ser guardado en su libro de macros personal y asignado a un acceso directo) y seleccionar las células que se van de seleccionado en la ventana emergente que aparece:fuente
Ahora es posible anular la selección con CTRL de una celda seleccionada por error. Es una nueva función integrada en Office 365 o versiones recientes. ¡Finalmente!
fuente