Si Et Ou Plusieurs Instructions en VBA

Je veux redistribuer un fichier Excel avec 14 Colonnes de la Colonne correcte (avec 12.000 lignes).

Pour cela, je dois utiliser certains Si Et Ou des Déclarations à mettre les numéros dans une matrice. Mais apparemment je n'ai pas le droit de sortir.

Il fait toutes mes cellules zéro, tandis que les cellules avec une valeur doit conserver la valeur.

Où dois-je aller mal?:

    For i = 1 To LastRow
    If Cells(i, 8).Value2 = "" Then Cells(i, 8).Value2 = 0

    If Cells(i, 1).Value2 < 437 And Cells(i, 5).Value2 = "aa" _
    Or Cells(i, 5).Value2 = "bb" _
    Or Cells(i, 5).Value2 = "cc" _
    Or Cells(i, 5).Value2 = "dd" _
    Or Cells(i, 5).Value2 = "ee" _
    Or Cells(i, 5).Value2 = "ff" _
    Or Cells(i, 5).Value2 = "gg" _
    And Cells(i, 7).Value2 = "" _
    Then Cells(i, 7).Value2 = 0

    Next i

Donc, si la cellule contient un aa ou bb ou cc ou dd ou ee ou ff ou gg et est empthy la cellule doit devenir 0 dans le cas contraire, il devrait rester la même valeur. Après il faut aller dans une matrice

Then Matrixgetallen(i, 2) = CDbl(Cells(i, 7).Value2)

Mais je n'ai pas réussi à obtenir que dans le même si l'instruction.

Si ont 6 de ce genre de Si-états, et donc probablement Si Alors Sinon ne fonctionne pas.

  • Il est la priorité de l'opérateur aussi avec des opérateurs booléens. ET a eminence en face OU. Utilisez des parenthèses pour marquer les opérations booléennes qui va ensemble.
  • Pouvez-vous me donner une (courte) exemple de clearify ce que tu veux dire?
  • Comme il est maintenant, votre Si est vrai si (Cells(i, 1).Value2 < 437 And Cells(i, 5).Value2 = "aa") Or...Or...Or...(Cells(i, 5).Value2 = "gg" And Cells(i, 7).Value2 = "") parce que Et ce, avant Ou.
InformationsquelleAutor Helfenstein | 2015-03-13