0
votes

Insérez une formule dans une plage qui comprend une variante

Je voudrais écrire un code pour insérer ci-dessous la formule de la gamme ("C6: C205"). = Iferror (vlookup (c6; priceliste! A5: F21997; 2; faux); "")

Pourriez-vous m'aider à corriger le code suivant. Merci d'avance. P>

For i = 6 To 205
Dim myFormula As String        
        myFormula = "=IFERROR(VLOOKUP(C"
        myFormula = myFormula & i
        myFormula = myFormula & ";Pricelist!A5:F21997;2;FALSE);"
        myFormula = myFormula & " "" "
        myFormula = myFormula & ")"
        
        
        Range("E" & i).Formula = myFormula
        
 Next


1 commentaires

Quel est le problème exactement?


3 Réponses :


0
votes

Vous pouvez simplement le faire dans un sans boucle, il s'ajustera automatiquement.

plage ("E6: E205"). Formula = "= iferror (vlookup (c6, priceliste! $ A 5997,2 $ Faux)," "" ") < / p>

dans VBA, vous n'utilisez pas de paramètres locaux tels que;

Et vous devez double-monter les citations.


3 commentaires

Je vous remercie beaucoup pour votre aide


Pourriez-vous s'il vous plaît guider comment je peux aussi mettre la formule suivante dans la cellule? = SUMIFS (G6: GG; G6: GG; "<> # VALEUR!"; G6: GG; "<> # N / A") J'utilise actuellement ce qui suit et que cela fonctionne, mais pas exactement ce que je veux exactement. Gamme ("g" & lastowas) .Formula = "= somme (G3: gg)" Lorsque je remplace SUMIF avec la formule de somme dans le code, je reçois une erreur


Pourriez-vous commencer une nouvelle question s'il vous plaît. G3: GG n'est pas une référence valide que vous avez également besoin d'un numéro de ligne.



0
votes

Vous n'avez pas besoin de tant de lignes de code pour obtenir cela. Essayez:

Sous-Addformula () P>

Dim myFormula As String
myFormula = "=IFERROR(VLOOKUP(C6,pricelist!A5:F21997,2,FALSE),"""")"

For i = 6 To 10
    Range("E" & i).Formula = myFormula
Next i
End Sub


0 commentaires

0
votes

Utilisez des virgules et corrigez quelques quotidiennes:

Sub ksdjfhs()
    dq = Chr(34)
    For i = 6 To 205
        Dim myFormula As String
        myFormula = "=IFERROR(VLOOKUP(C"
        myFormula = myFormula & i
        myFormula = myFormula & ",Pricelist!A5:F21997,2,FALSE),"
        myFormula = myFormula & dq & dq
        myFormula = myFormula & ")"
            
        Range("E" & i).Formula = myFormula
 Next
End Sub


0 commentaires