2013-10-16 3 views
1

Comment désactiver CTRL + D raccourci pour un classeur particulier? Je peux désactiver avec Macro, mais les macros affecteront tous les classeurs Excel. J'ai essayé,Désactiver Ctrl + D pour un classeur particulier

Sub diableCtrlD() 
    Application.OnKey "^d", "" 
End Sub 

Cela fonctionne bien seulement, mais il est l'application à tous les classeurs. Je veux juste désactiver à un document/classeur particulier

Comment je fais ça?

+0

Pourquoi ne pas utiliser ce que vous utilisez et dans la fin du classeur/désactiver l'événement, le réinitialiser? Donc, si vous allez à un autre classeur, il ne devrait pas avoir cet effet? –

+0

@SiddharthRout, merci pour votre réponse rapide, mais je vais travailler simultanément avec plusieurs fichiers, donc je ne peux pas le faire. – Dhanendran

+1

exactement mon point, lorsque vous travaillez sur plusieurs fichiers, le moment où vous quittez le fichier d'origine, l'événement de désactivation se déclenchera. De même, vous pouvez utiliser l'événement activate pour désactiver ctrl D lorsque le classeur d'origine obtient le focus –

Répondre

3

Cela fera en sorte que lorsque vous appuyez sur CTRL + D il vérifiera le nom du classeur, il le classeur est Book1 il ne fera rien, sinon il fera défaut remplissage vers le bas événement.

Sub Sample() 
Application.OnKey "^d", "CheckWorkbook" 
End Sub 

Sub CheckWorkbook() 
If ActiveWorkbook.Name = "Book1" Then 
    Exit Sub 
Else 
    Selection.FillDown 
End If 
End Sub 

Ou

Sub Sample() 
Application.OnKey "^d", "CheckWorkbook" 
End Sub 

Sub CheckWorkbook() 
If ActiveWorkbook.Name <> "Book1" Then 
    Selection.FillDown 
End If 
End Sub 
+0

+ 1 Good one :) –

+0

pour cela dois-je enregistrer le document en tant que classeur Macro activé? – Dhanendran

+0

Désolé mec, ça ne marche pas pour moi, la touche de raccourci est désactivée dans tous les classeurs :( – Dhanendran

Questions connexes