Lorsque je crée un graphique après avoir utilisé range.copy et range.paste, il laisse la plage de collage sélectionnée et, lorsque je crée un graphique quelques lignes plus tard, il utilise la sélection comme première série du tracé. Je peux supprimer la série, mais existe-t-il un moyen plus élégant de le faire? j'ai essayé
Set selection = nothing
mais cela ne me laissera pas définir la sélection. J'ai aussi essayé selection.clear, mais cela vient d'effacer les dernières cellules sélectionnées et d'ajouter une série supplémentaire à l'intrigue.
Cells(1,1).Select
Cela vous mènera à la cellule A1, annulant ainsi votre sélection existante.
Application.CutCopyMode = False
Sélectionnez n'importe quelle cellule et désactivez le cutcopymode.
Range("A1").Select
Application.CutCopyMode = False
Juste utiliser
SendKeys "{ESC}"
annulant ainsi votre sélection.
Il existe un moyen de ne rien sélectionner qui résout votre problème.
Quand vous voulez qu'Excel SELECT SELECT RIEN le fasse:
MYDOC.Shapes("Ready").visible=True
MYDOC.Shapes("Ready").Select
MYDOC.Shapes("Ready").visible=False
Ceci cache la sélection et rien n’est encore sélectionné dans votre fenêtre.
Je ne pense pas que cela puisse être fait. Voici du code copié sans aucune modification du site de Chip Pearson: http://www.cpearson.com/Excel/UnSelect.aspx .
UnSelectActiveCell
Cette procédure supprimera la cellule active de la sélection.
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
Cette procédure supprimera la zone contenant la cellule active de la sélection.
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
Vous pouvez simplement utiliser ce code à la fin. (Ne pas utiliser Faux)
Application.CutCopyMode = True
Dans Excel 2007, une combinaison utilisant les propriétés select et CutCopyMode permet de réinitialiser toutes les sélections. Cela a fonctionné pour mon cas d'utilisation.
Application.CutCopyMode = xlCopy
ActiveSheet.Range("A" & lngRow).Select
Cordialement Madhur
J'avais ce problème avec Excel 2013. J'avais le jeu "congeler les volets", ce qui était à l'origine du problème. Le problème a été résolu lorsque j'ai retiré les vitres gelées.
Aucune des nombreuses réponses avec Application.CutCopyMode
ou .Select
n'a fonctionné pour moi.
Mais j'ai trouvé une solution qui n'a pas été postée ici et qui a fonctionné à merveille pour moi!
De StackExchange SuperUser: Excel VBA "Désélectionner" recherché
Si vous ne voulez vraiment rien sélectionner, vous pouvez utiliser VBA pour protéger la feuille à la fin de l'exécution de votre code, ce qui empêchera la sélection. Vous pouvez soit ajouter ceci à une macro ou le mettre directement dans votre VBA.
Sub NoSelect()
With ActiveSheet
.EnableSelection = xlNoSelection
.Protect
End With
End Sub
Dès que la feuille n'est plus protégée, le curseur activera une cellule.
J'espère que cela aide quelqu'un avec le même problème!
Selection(1, 1).Select
sélectionnera uniquement la cellule en haut à gauche de votre sélection actuelle.
Si vous utilisez un bouton pour appeler la procédure de collage,
essayez d'activer le bouton après l'opération. cela efface avec succès la sélection
sans pour autant
HTH
Sub BtnCopypasta_Worksheet_Click()
range.copy
range.paste
BtnCopypasta.Activate
End sub
HTH
Vous pouvez définir le Application.ScreenUpdating = False
et sélectionner une cellule de vue, puis définir le .ScreenUpdating
sur true. Cela ne montrerait au moins aucune cellule sélectionnée dans la vue actuelle.
Si vous sélectionnez une cellule dans une plage déjà sélectionnée, cela ne fonctionnera pas. Mais, la sélection d'une plage en dehors de la sélection d'origine effacera la sélection d'origine.
' * Sélection d'origine * ' ActiveSheet.range ("A1: K10"). Sélectionnez
' * Nouvelles sélections * ' Activesheet.Range ("L1"). Select
' * Ensuite * ' Activesheet.Range ("A1"). Sélectionnez
J'ai essayé toutes vos suggestions, pas de chance, mais voici une idée qui m'a fonctionné.
Plage ("AAA1000000"). Activer
Plage ("A1"). Activer
Gars