loop - ¿Cómo configuro la selección en Nothing cuando programo Excel usando VBA?
vba code for excel (13)
Cuando creo un gráfico después de usar range.copy y range.paste, deja el rango de pegado seleccionado, y luego cuando creo un gráfico unas líneas más tarde, usa la selección como la primera serie de la gráfica. Puedo eliminar la serie, pero ¿hay una manera más elegante de hacer esto? Lo intenté
Set selection = nothing
pero no me deja establecer la selección. También probé selection.clear, pero eso solo borró las últimas celdas que fueron seleccionadas, y aún agregué una serie extra a la trama.
No creo que esto se pueda hacer. Aquí hay un código copiado sin modificaciones del sitio de Chip Pearson: http://www.cpearson.com/excel/UnSelect.aspx .
UnSelectActiveCell
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
UnSelectCurrentArea
Este procedimiento eliminará el Área que contiene la Célula 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
En Excel 2007, una combinación que usa la propiedad select y CutCopyMode, es posible restablecer todas las selecciones. Funcionó para mi caso de uso.
Application.CutCopyMode = xlCopy
ActiveSheet.Range("A" & lngRow).Select
Saludos Madhur
Cells(1,1).Select
Te llevará a la celda A1, cancelando así tu selección existente.
Hay una manera de NO SELECCIONAR NADA que resuelva su problema.
- Crear una forma (un rectángulo)
- Nómbrelo en la Base de Datos de Formas >>> por ejemplo: "Listo"
- Consulte MYDOC.Shapes ("Listo") y cambie la visibilidad a False
Cuando desee que Excel SELECCIONE NADA, hágalo:
MYDOC.Shapes("Ready").visible=True
MYDOC.Shapes("Ready").Select
MYDOC.Shapes("Ready").visible=False
Esta OCULTAR la selección y nada aún seleccionado en su ventana MÁS: La palabra "Listo" se muestra en la parte superior izquierda de su Hoja.
Application.CutCopyMode = False
Puede establecer Application.ScreenUpdating = False
y seleccionar una celda fuera de la vista y luego establecer el .ScreenUpdating
en verdadero. Esto al menos no mostraría ninguna celda seleccionada en la vista actual.
Solo usa
SendKeys "{ESC}"
por lo tanto cancelando su selección.
Seleccione cualquier celda y desactive el modo copia cortada.
Range("A1").Select
Application.CutCopyMode = False
Selection(1, 1).Select
seleccionará solo la celda superior izquierda de su selección actual.
Si usa un botón para llamar al procedimiento de pegado,
intente activar el botón después de la operación. esto borra exitosamente la selección
sin
- tener que perder el tiempo con cosas ocultas
- seleccionando otra celda (que es exactamente lo contrario de lo que se pidió)
- afectando el modo del portapapeles
- teniendo el método hacky de presionar escape que no siempre funciona
HTH
Sub BtnCopypasta_Worksheet_Click()
range.copy
range.paste
BtnCopypasta.Activate
End sub
HTH
Intenté todas sus sugerencias, sin suerte, pero esta es una idea que funcionó para mí: seleccionar una celda fuera de su rango de selección (por ejemplo, AAA1000000) y luego seleccionar de nuevo A1
Rango ("AAA1000000"). Activar
Rango ("A1"). Activar
Chico
Tuve este problema con Excel 2013. Tenía el juego "congelar paneles", lo que causó el problema. El problema se resolvió cuando eliminé los paneles congelados.
Simplemente puede usar este código al final. (No use False)
Application.CutCopyMode = True