checken voor dubbele waarden en verwijderen oude waarden

Status
Niet open voor verdere reacties.
Je kan de formules ook beter in de array berekenen.
Code:
For j = 2 To UBound(ar1)
    c00 = ar1(j, 1) & "|" & ar1(j, 2) & "|" & ar1(j, 3) & "|" & ar1(j, 4) & "|" & ar1(j, 5) & "|" & ar1(j, 6) & "|" & ar1(j, 8) & "|" & ar1(j, 10)
    [COLOR="#FF0000"]ar1(j, 11) = IIf(IsDate(ar1(j, 8)), Format(ar1(j, 8), "yyyymm"), 0)
    If (ar1(j, 4) = "1903571" Or ar1(j, 4) = "1909744") Then ar1(j, 12) = ar1(j, 6) - ar1(j, 7) Else ar1(j, 12) = ""[/COLOR]
    d(c00) = Application.Index(ar1, j, 0)
  Next j

Heb je gelijk drie verschillende schrijfwijzen gezien van IF Then ELSE
 
Je kan het ook afhandelen in de 'for next' lus daar die sneller loopt door de voorwaarde c00:


Code:
If d.Exists(c00) Then
      x = d(c00)
      x(8) = IIf(IsDate(ar(j, 8)), Format(ar(j, 8), "mm-dd-yyyy"), Format(ar(j, 8)))
      x(10) = IIf(IsDate(ar(j, 10)), Format(ar(j, 10), "mm-dd-yyyy"), Format(ar(j, 10)))
      x(11) = ar(j, 11)
      x(12) = ar(j, 12)
      x(13) = IIf(IsDate(ar(j, 13)), Format(ar(j, 13), "mm-dd-yyyy"), Format(ar(j, 13)))
      x(14) = ar(j, 14)
      d(c00) = x
    End If

Dit ontgaat me overigens.
Code:
If (ar1(j, 4) = "1903571" Or ar1(j, 4) = "1909744") Then ar1(j, 12) = ar1(j, 6) - ar1(j, 7) Else ar1(j, 12) = ""
In kolom D staan niets anders dan wat letters.
Maakt niet uit, ik denk dat Ts voorbeelden genoeg heeft nu.
 
Dat had ik eerst ook maar dan worden alleen de oude waarden bijgewerkt terwijl juist de nieuwe van 'formules' moet worden voorzien.

Code:
If (ar1(j, 4) = "1903571" Or ar1(j, 4) = "1909744") Then ar1(j, 12) = ar1(j, 6) - ar1(j, 7) Else ar1(j, 12) = ""
is mijn interpretatie van
Code:
Range("L2").FormulaR1C1 = "=IF(OR(RC[-8]=""1903571"",RC[-8]=""1909744""),RC[-6]-RC[-5],"""")"

Waar deze voorwaarden vandaan komen en wat er verder mee moet is inderdaad aan de Ts.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan