VBA Tableau de multiplication, elementwise sans boucle

Salut tout le monde: à la Suite de liitle question:

Option Base 1
Sub Test()
Dim aa() As Integer
Dim bb() As Integer
ReDim aa(3)
ReDim bb(3)
For j = 1 To 3
    aa(j) = j * 2
    bb(j) = j * 3
Next j
End Sub

Maintenant, la seule petite chose que je veux faire, c'est de multiplier les deux dimensions des tableaux elementwise sans boucle, puis à décharger cette new array (6,24,54) dans une gamme. Je suis sûr que cela doit être facilement possible. Une solution que je vois est de créer une matrice diagonale (tableau), puis à utiliser le mmult, mais je suis sûr que c'est faisable en une manière très simple. Merci pour l'aide.

C'est donc dans Excel?
La boucle est la seule façon - mmult en boucle ses matrices en interne - ce qui est à l'objection de le faire dans votre routine?
Eh bien, j'ai un couple de valeurs dans une ligne dans une feuille, un couple de valeurs dans une colonne d'une autre feuille, à l'aide de vba je tiens à les multiplier elementwise et les décharger dans une troisième feuille....Je suis habitué à Matlab / R, alors j'ai pensé que le moyen le plus efficace de le faire est de lire les valeurs dans des tableaux et ensuite d'effectuer elementwise multiplication...je vais donc faire une boucle dans ce cas. Mais savez-vous c'est plus rapide à appliquer les multiplications sur la Gamme de classe ou est-il advisible d'abord charger les données dans des tableaux, effectuer des calculs et de les repousser à une plage?

OriginalL'auteur Eva | 2012-03-10