• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Waarom werkt mijn IF niet?

Status
Niet open voor verdere reacties.

sandernoteborn

Gebruiker
Lid geworden
8 mei 2006
Berichten
68
Ik probeer al een tijdje een aantal cellen met een ander aantal cellen (op 1 rij) te vergelijken op veranderingen.

Ik heb een aantal achter elkaar liggen cellen die door een macro gekopieerd worden en achter deze cellen gepast worden als backup. Nu wil ik dat indien ik iets verander tenopzzichte van die backup dat er in een cel wordt aangegeven dat er tenopzichte van de backup die erachter staat iets verandert is in die rij. Ik heb deze IF formule in de betreffende cel gezet . Waarom werkt dit niet? Heeft iemand een idee?

=IF((AF4:AT4)=(P4:AE4).1.2)

Indien er dus een verandering optreed in de kolommen AF4 tot en met AT4 ten opzichte van P4 tot en met AE4 geeft hij bij true 1 aan en bij false 2 aan. Waarom krijg ik alsnog een error???

Alvast bedankt als iemand mij kan helpen
 
CorVerm zei:
Beste,
=IF(SUM(AF4:AT4)=SUM(P4:AE4).1.2)


Dit werkt inderdaad alleen zitten er een aantal kolommen in die geen getalwaarde bevatten maar een dropdownlist met tekst. Hier reageert de formule dan weer niet op.

Is er hier een oplossing voor? In ieder geval alvast bedankt
 
Volgens mij zit er een fout in het bereik:

P t/m AE = 16 kolommen
AF t/m AT = 15 kolommen

Onderstaande macro controleert de kolommen en zet in cel A1 True als de waarde ongelijk is.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Kolom As Integer
Dim Ongelijk As Boolean
Kolom = 16
While Kolom > 32 And Ongelijk = False
If Cells(4, Kolom) <> Cells(4, Kolom + 16) Then
Ongelijk = True
End If
Kolom = Kolom + 1
Wend
[A1] = Ongelijk
End Sub

(zie eventueel bijlage voor de plaats waar de code dient te staan)
 
Laatst bewerkt:
Roncancio zei:
Volgens mij zit er een fout in het bereik:

P t/m AE = 16 kolommen
AF t/m AT = 15 kolommen

Onderstaande macro controleert de kolommen en zet in cel A1 True als de waarde ongelijk is.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Kolom As Integer
Dim Ongelijk As Boolean
Kolom = 16
While Kolom > 32 And Ongelijk = False
If Cells(4, Kolom) <> Cells(4, Kolom + 16) Then
Ongelijk = True
End If
Kolom = Kolom + 1
Wend
[A1] = Ongelijk
End Sub

(zie eventueel bijlage voor de plaats waar de code dient te staan)


Klopt inderdaad! Ik had een foutje gemaakt met de backup. Dit is inmiddels opgelost and het zijn nu beide 16 kolommen. Maar het liefst gebruik ik gewoon een IF formule in de cel achter de betreffende rij zodat ik de resultaten van deze kolom kan gebruiken in een macro en daarna n een auto format! Maar ik krijg de IF formule gewoon niet aan het werken. Ik denk dta mijn probleem ligt in het afscheiden van de verschillende celvergelijkingen. Ik gebruik Office Excel 2003 (Engels). Als ik bijvoorbeeld cel P4 met AF4 vergelijk: (P4=AF4) of (P4<>AF4) hoe zet ik dan de volgende waarde erachter (Q4=AG4) of (Q4<>AG4)? Waarmee verbind ik dit? Haakjes gebruiken of niet? Komma's? Ik denk dat daar de fout ligt!

Indien iemand mij hierbj kan helpen ben ik reuze blij!

Alvast bedankt tot nu toe voor de hulp!
 
Beste,
=ALS(EN(GELIJK(A1;J1);GELIJK(B1;K1));"gelijk";"ongelijk")
=IF(AND(EXACT(A1;J1);EXACT(B1;K1));"gelijk";"ongelijk")
Je zou deze formule uit kunnen breiden zoals je het hebben wilt.
 
CorVerm zei:
Beste,
=ALS(EN(GELIJK(A1;J1);GELIJK(B1;K1));"gelijk";"ongelijk")
=IF(AND(EXACT(A1;J1);EXACT(B1;K1));"gelijk";"ongelijk")
Je zou deze formule uit kunnen breiden zoals je het hebben wilt.


Het zal wel aan mij liggen maar ik krijg dit gewoon niet werkend :S

Deze werkt wel zonder foutmeldingen: =IF(SUM(AF4:AT4)=SUM(P4:AE4).1.2) maar deze telt dus alleen cijferwaardes op en vergelijkt het aantal. Indien er een uit een dropdownlist een waarde wordt gekozen merkt hij dit niet op als verschil dus.

Ik krijg constant de melding:

The formula you entered contains errors :S

In ieder geval bedankt allemaal. Indien iemand nog een geniaal idee heeft hoor ik het graag!
 
sandernoteborn zei:
In ieder geval bedankt allemaal. Indien iemand nog een geniaal idee heeft hoor ik het graag!
Sander

geniaal is het niet, maa kijk toch maar eens naar het bestand in bijlage.

Wigi
 

Bijlagen

Laatst bewerkt:
Wigi zei:
Sander

geniaal is het niet, maa kijk toch maar eens naar het bestand in bijlage.

Wigi

Ik ben erachter dat het enigzins aan mijn excel ligt. Op een andere pc krijg ik namelijk in hetzelfde bestand de foutmeldingen niet. Nu is alleen nog de vraag hoe ik het uiteindelijk het makkelijkst kan doen indien de waarden die ik dus wil vergelijken achter elkaar staan in 1 rij.

Hoe scheidt ik deze variabelen het beste?

IF(P4=AF4;Q4=AG4;R4=AH4; enzovoort)??? Of andere opties?

Alvast bedankt voor de hulp tot dusver. Ik ga er spoedig uitkomen denk ik!
 
zie bijlage voor een kleine aanpassing van wat ik eerder maakte.

Gebruik geen IFs voor dit probleem (maximaal 6 weet je).

Wigi
 

Bijlagen

Super!

Wigi zei:
zie bijlage voor een kleine aanpassing van wat ik eerder maakte.

Gebruik geen IFs voor dit probleem (maximaal 6 weet je).

Wigi


En eindelijk!! Het is gelukt. Bedankt voor het omzetten in kolommen. Heb hem nu gepaste en alle waarden aangepast en hij werkt! Hartstikke bedankt iedereen en Wigi met afstand
 
Veranderingen weergeven?

sandernoteborn zei:
En eindelijk!! Het is gelukt. Bedankt voor het omzetten in kolommen. Heb hem nu gepaste en alle waarden aangepast en hij werkt! Hartstikke bedankt iedereen en Wigi met afstand

Nu dit werkt wil ik nog 1 ding doen. Ik wil graag een overzicht geven van de wijzigingen. Dus als er achter een rij "ongelijk" staat betekent dat er daar een verandering is geweest. Nu wil ik voor het afsluiten een macro gaan schrijven dat hij alleen de regels laat zien die verandert zijn. Ik heb nu op de kolom die de verandering registreerd een autofilter gezet. Handmatig werkt dit. Nu wil ik dit in een macro verwerken en dat hji dus de autofilter uitvoert met de waarde: "ongelijk"

Met deze regel tussen mijn macro: Selection.AutoFilter Field:=1, Criteria1:="change"

werkt het zoals ik wil alleen werkt het voor de bovenste rij. Hoe kan ik de volgende rijen ook laten uitvoeren?

Indien iemand hier ook nog een oplossing voor heeft: geweldig!
 
Laatst bewerkt:
sandernoteborn zei:
Nu dit werkt wil ik nog 1 ding doen. Ik wil graag een overzicht geven van de wijzigingen. Dus als er achter een rij "ongelijk" staat betekent dat er daar een verandering is geweest. Nu wil ik voor het afsluiten een macro gaan schrijven dat hij alleen de regels laat zien die verandert zijn. Ik heb nu op de kolom die de verandering registreerd een autofilter gezet. Handmatig werkt dit. Nu wil ik dit in een macro verwerken en dat hji dus de autofilter uitvoert met de waarde: "ongelijk"

Met deze regel tussen mijn macro: Selection.AutoFilter Field:=1, Criteria1:="change"

Handmatig werkt de autofilter wel gewoon alleen automatisch in een macro werkt het niet als ik deze regel hierboven gebruik

Indien iemand hier ook nog een oplossing voor heeft: geweldig!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan