macro - vba excel tutorial




Multipliez la gamme en utilisant Excel VBA (2)

Écrivez une formule rapide et résolvez les résultats de la formule.

PullData.Range("G2:G" & lrA - 6).Formula = "=F2*E2"
PullData.Range("G2:G" & lrA - 6) = PullData.Range("G2:G" & lrA - 6).Value

Si vous ne voulez pas écrire la formule, créez un tableau et faites une boucle pour stocker les résultats des opérations de multiplication de ligne individuelles.

J'utilise le code ci-dessous pour extraire les données de la feuille RawImport vers PullData.

Dim lrA As Integer

    lrA = RawImport.Range("B" & Rows.Count).End(xlUp).Row

    PullData.Range("A2:A" & lrA - 6).Value = RawImport.Range("G8:G" & lrA).Value
    PullData.Range("A2:A" & lrA).NumberFormat = "d mmm yyyy h:mm;@"
    PullData.Range("A:A").Columns.AutoFit

    PullData.Range("B2:B" & lrA - 6).Value = RawImport.Range("E8:E" & lrA).Value

    PullData.Range("C2:C" & lrA - 6).Value = RawImport.Range("C8:C" & lrA).Value

    PullData.Range("D2:D" & lrA - 6).Value = RawImport.Range("D8:E" & lrA).Value

    PullData.Range("E2:E" & lrA - 6).Value = RawImport.Range("B8:B" & lrA).Value

    PullData.Range("F2:F" & lrA - 6).Value = RawImport.Range("F8:F" & lrA).Value

    Application.Calculation = xlCalculationAutomatic

    Application.ScreenUpdating = True

Maintenant, je voudrais multiplier les colonnes E et F (à partir de la rangée 2) et ajouter le résultat à la colonne G. J'ai essayé d'ajouter le code ci-dessous avec ci-dessus

PullData.Range("G2:G" & lrA - 6).Value = PullData.Range("F2:F" & lrA - 6).Value * PullData.Range("E2:E" & lrA - 6).Value

Mais je reçois erreur erreur de type lors de l'exécution du code. Quel sera le meilleur moyen de multiplier les valeurs et d'attribuer à la colonne G?


Merci d'utiliser ce code:

For i = 2 To lrA - 6
    PullData.Range("G" & i).Value = PullData.Range("F" & i).Value * PullData.Range("E" & i).Value
Next i

J'espère que cette aide.





excel-2010