J'ai créé deux macros liées.MAJ + F9 en vitesse de rafraîchissement macro et macro
L'un d'entre eux génère des copies d'une certaine feuille dans un classeur. Le problème ici est que je dois appuyer sur Maj + f9 dans toutes les feuilles copiées pour mettre à jour mes valeurs. J'ai déjà utilisé calculate et application.calculate = xl ......
La deuxième macro appelle les valeurs de la première macro et effectue une opération sur celle-ci. Le problème ici est qu'après avoir exécuté la première macro et en utilisant shift + f9, mettre à jour toutes les feuilles .. si je cours cette deuxième macro en utilisant un bouton assigné il ne fonctionne pas mais si je marche dans la macro fonctionne correctement.
je pense qu'il est parce que les valeurs de première fois de prendre macro pour rafraîchir donc ce problème se produit ..
Macro1:
Sub macro1()
Worksheets("Excel Inputs").Activate
If Sheets("Excel Inputs").Cells(11, "P") = 3 Then
Sheets("Valuation 02").Delete
Sheets("Valuation 03").Delete
ElseIf Sheets("Excel Inputs").Cells(11, "P") = 2 Then
Sheets("Valuation 02").Delete
End If
Length = WorksheetFunction.CountA(Range("B13:B15"))
For i = 1 To Length - 1
Sheets("Valuation 01").Copy After:=Sheets(4 + i)
Sheets(4 + i + 1).Name = "Valuation 0" & (i + 1)
Application.Calculation = xlCalculationAutomatic
Next i
Sheets("Excel Inputs").Cells(11, "P") = Length
End Sub
Quelqu'un peut-il me aider à ce sujet?
Donc, même si vous attendez longtemps puis cliquez sur le bouton, il fonctionne toujours pas? – Larry
C'est la chose .. il ne .. .. quand il clique sur ce bouton ou même appuyez sur F8 (tout en entrant dans) trop vite il casse .. et puis quand je reviens à Excel et vérifier alors les feuilles copiées (qui viennent de macro 1) ont des # valeurs .. puis de nouveau quand j'appuie sur Maj + f9 ils mettent à jour pour corriger les valeurs! – user2110137
MACRO 1:... Worksheets ("Entrées Excel") Activer Si Sheets ("Entrées Excel") des cellules (11, "P") = 3 Ensuite Sheets ("Évaluation 02") Supprimer Sheets ("Évaluation 03 "). Delete ElseIf Sheets (" Entrées Excel ") .Cellules (11," P ") = 2 Then Sheets (" Valuation 02 "). Delete Fin Si length = WorksheetFunction.CountA (Range (" B13 : B15 ")) Pour i = 1 à longueur - 1 Feuilles (" Évaluation 01 "). Copier après: = Feuilles (4 + i) Feuilles (4 + i + 1) .name =" Valuation 0 "& (i + 1) Application.Calculation = xlCalculationAutomatic Suivant i Feuilles ("Entrées Excel") Cellules (11, "P") = longueur End Sub – user2110137