VBA sur Excel utiliser un seul processeur, comment puis-je utiliser plus?
VBA est connu pour travailler sur un seul processeur en même temps, donc, quand je lance une macro, Excel utilise seulement 50% du CPU au lieu de totalement (dual-core).
Est-il une solution pour rendre VBA utilisation de deux processeurs ?
Grâce.
Si je comprends bien, la réponse courte est non. Réponse longue: blogs.office.com/b/microsoft-excel/archive/2005/11/03/...
J'ai couru un énorme macro sur un dual core avec 1 processeur, a pris environ 25 minutes pour exécuter, puis j'ai couru à la même macro sur un core i7 , a pris environ 25 minutes.. donc la réponse est NON. Ce que vous pouvez faire - son de définir la priorité dans le gestionnaire des tâches de haut - puis sa ressemble à sa à l'aide de plus de 50%
J'ai couru un énorme macro sur un dual core avec 1 processeur, a pris environ 25 minutes pour exécuter, puis j'ai couru à la même macro sur un core i7 , a pris environ 25 minutes.. donc la réponse est NON. Ce que vous pouvez faire - son de définir la priorité dans le gestionnaire des tâches de haut - puis sa ressemble à sa à l'aide de plus de 50%
OriginalL'auteur Antoine Turmel | 2013-05-16
Vous devez vous connecter pour publier un commentaire.
Vous pourrait diviser le problème en plusieurs instances d'Excel.Applications, de cette façon, vous pourriez faire à moitié dans une copie d'Excel et l'autre moitié dans l'autre.
J'ai vu quelqu'un faire de la simulation de travail en VBA Excel à l'aide de 8 cœurs. Un peu de douleur d'apporter les résultats de retour ensemble à la fin, mais il a travaillé.
Ouais, ou écrire les données à une base de données peut-être (c'est ce que ma collègue a fait). Pas sûr au sujet de l'utilisation de VBA dans les différents interprètes. si vous allez loin, alors pourquoi ne pas l'utiliser VB.Net au lieu de cela, il a v. un bon support pour le multi-threading.
Le truc c'est que je ne peux pas utiliser autre langue que l'VBA et de la société d'accueil (sous-traitant) ne veut pas nous fournir les outils de Visual Studio. Je pensais, peut-être il pourrait être possible d'utiliser LibreOffice VBA Interprète pour accélérer le traitement, mais vous ne savez pas comment.
Le meilleur de la chance. Cette méthode je l'ai mentionné ci-dessus fonctionne bien, donc si vous n'obtenez pas de chance, à l'aide de l'interprète, puis donnez-lui un coup de feu.
OriginalL'auteur steveo40
La réponse est non, sauf si vous répartir la charge de travail entre plusieurs instances d'Excel et de recombiner les résultats à la fin.
Mais la grande majorité des cas de ralentissement du VBA exécution peut être accéléré par des ordres de grandeur:
OriginalL'auteur Charles Williams
Dans Excel 2010
Allez dans Fichier --> Options - > Avancé.
Faites défiler vers le bas jusqu'à la section pour les Formules et vous pouvez définir le nombre de processeurs à utiliser pour le calcul de formules.
Cela peut ne pas avoir un effet sur VBA, mais il va travailler pour l'exécution d'une formule vers le bas d'une colonne entière. Ses un gain de temps lorsque vous travaillez avec des grands classeurs. En outre, vous pouvez aller dans le gestionnaire des tâches et cliquez droit sur excel et de définir la priorité haute, de sorte que votre machine concentre son énergie.
** Cette option ne semble pas être disponible pour Mac **
OriginalL'auteur DeadMarhsall