J'ai fait des recherches pour accélérer mon codeExcel VBA et moi "avons trouvé les paramètres suivants qui ont été utiles. Ma question est la suivante: est-il possible de définir les lignes de code suivantes en une seule variable que je peux définir sur Activé ou Désactivé pour activer la liste complète?
speedUpCode = On
définirait tous les paramètres ci-dessous et s'il était désactivé, il inverserait tous les paramètres suivants en True / xlCalculationAutomatic
With Application
.ScreenUpdating = False
.DisplayStatusBar = False
.Calculation = xlCalculationManual
.EnableEvents = False
End With
ActiveSheet.DisplayPageBreaks = False "note this is a sheet-level setting
Réponses:
7 pour la réponse № 1J'utilise ceci (très basique):
Sub GoFast(Optional bYesNo As Boolean = True)
With Application
.ScreenUpdating = Not bYesNo
.Calculation = IIf(bYesNo, xlCalculationManual, xlCalculationAutomatic)
End With
End Sub
Appeler avec True
ou pas de paramètre pour accélérer les choses, puis avec False
réinitialiser.
Les commentaires ci-dessus à propos de la possibilité de capturerl’état actuel des différents paramètres pour que vous puissiez revenir à l’état "original", et que tous les paramètres ne doivent pas toujours être mis à jour en fonction de ce que vous faites, méritent d’être pris en compte.
3 pour la réponse № 2
Vous pouvez utiliser une fonction pour faire cela comme si ...
Function speedUpCode(sStatus As String)
If sStatus = "On" Then
With Application
.ScreenUpdating = False
.DisplayStatusBar = False
.Calculation = xlCalculationManual
.EnableEvents = False
End With
ActiveSheet.DisplayPageBreaks = False "note this is a sheet-level setting
Else if sStatus = "Off" then
With Application
.ScreenUpdating = True
.DisplayStatusBar = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
End With
ActiveSheet.DisplayPageBreaks = True "note this is a sheet-level setting
End Function
vous pouvez ensuite les utiliser pour allumer et éteindre
speedUpCode "On"
speedUpCode "Off"
Cependant, gardez à l’esprit que vous vous retournezet désactiver les paramètres - vous devriez probablement vérifier l'état de ceux-ci avant de les modifier afin que vous puissiez les rétablir sur les paramètres d'origine plutôt que de simplement les désactiver à nouveau vous pouvez le faire avec des variables statiques