Erreur d'exécution '13' Incompatibilité de Type SI valeur = l'état de la boucle

Fondamentalement, ce que je fais c'est que j'ai données dans les colonnes A-I et je suis en train de copier des données [les Colonnes D-G] par leur valeur dans D. Dans cette boucle, je suis à la recherche lors de l'entrée en D dit "1CME Réglées en argent du Beurre".

J'ai ensuite commencer dans la colonne K (=11) j'ai coller. Alors je pile les lignes.

La boucle recommence et se lance à la recherche d'une valeur différente.

Mon problème est que j'ai couru le code d'amende pour de nombreuses descentes. Je n'ai pas changé le code, mais maintenant, je suis pas d'Erreur Run-Time Type '13' Incompatibilité. Est-il d'une certaine manière pour résoudre ce problème ou écrire un nouveau code?

Je suis en train d'apprendre VBA!

Merci!

iRow = 2
For Each i In Range("D2:D200")
    If i.Value = "1CME Cash-Settled Butter" Then
        Range(i.Offset(0, 0), i.Offset(0, 3)).Copy
        Cells(iRow, 11).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,   SkipBlanks:=False, Transpose:=False
        iRow = iRow + 1
    End If
Next i

iRow = 30
For Each i In Range("D2:D200")
    If i.Value = "-1CME Cash-Settled Butter" Then
        Range(i.Offset(0, 0), i.Offset(0, 3)).Copy
        Cells(iRow, 11).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        iRow = iRow + 1
    End If
Next i
  • cstr(i.Value) = "1CME Cash-Settled Butter" Essayer cette
  • Vérifiez si l'une des cellules a des erreurs de formule?
  • il a travaillé!!!!!!!! Vous êtes génial. Merci beaucoup! Pourriez-vous expliquer brièvement pourquoi Cstr() fonctionne mieux? Dois-je remplacer mes autres boucles à l'aide de Cstr?
  • Bienvenue DONC, favoritewordgoeshere.
  • "1CME qui sont Réglées en Trésorerie Beurre" est une chaîne où j'ai est un objet de la plage. Cstr convertit la valeur de l'objet de la plage à la chaîne et puis vous pouvez faire la comparaison.
  • Je vois que vous avez ignoré mon commentaire. Je crois et j'ai peut-être tort, mais l'un de vos cellules ont une formule d'erreur. Quelque chose comme #N/A ou #DIV/0! ou quelque chose d'autre. Ce cstr(i.Value) est en train de faire est de convertir cette chaîne. Une autre alternative est d'utiliser If i.Text = "-1CME Cash-Settled Butter"
  • En fait je n'ai pas de formules entourant de mes données. Ils étaient de toutes les valeurs. Je vais utiliser je.Texte. Je m'excuse je n'ai pas l'adresse de votre commentaire. Merci à tous pour l'aide!