IF - functie met meerdere argumenten

Status
Niet open voor verdere reacties.

Oude leerling

Gebruiker
Lid geworden
30 aug 2010
Berichten
566
Geacht forum,
Ik kom er niet uit.

Als D59 of D61 ongelijk aan nul zijn , dan B1 , anders B2

Is dit in een macro te verwezenlijken?

Vriendelijke groet , J.M.Zonneveld
 
Probeer deze maar eens:
=ALS(OF(D59<>0;D61<>0);B1;B2)
 
Laatst bewerkt:
Dat klopt maar het is een onderdeel van een macro en de uitslag verwijst naar een ander gedeelte van de totale macro
Dus toch gaarne met VBA
 
Plaats even het bestandje waarin dit toegepast moet worden en hoe het tot stand moet komen. Is dit bij een wijziging van D59 of D69? Of zijn er nog andere afhankelijkheden?
 
Resultaat = IIf(Range("D59") <> 0 Or Range("D61") <> 0, Range("B1"), Range("B2"))
 
Of met een change event. Omdat er niet bijstaat in welke cel het resultaat moet komen maar even een msgbox.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "D59" Or Target.Address(0, 0) = "D61" Then
    If [D59] <> 0 Or [D61] <> 0 Then MsgBox [B1] Else MsgBox [B2]
End If
End Sub
 
Edmoor,

Code geeft de compileerfout , Verwacht: =

Het programmaatje wat ik aan het maken ben is nog lang niet klaar
Opsturen heeft dus nog geen zin
 
Dan heb je het niet goed toegepast want wat ik schreef is de juiste code.
 
Dat is compleet anders dan wat ik in #6 schreef.
De uitkomst gaat niet naar een variabele en van de IIf heb je een If gemaakt.
 
Laatst bewerkt:
Sorry , ik dacht dat het een type-foutje was.
Kan je nagaan ik heb er niet veel verstand van.
Maar om mijn "test IF" programmaatje te laten werken , hoe moet dat dan?
 
Gewoon een copy en paste van wat ik in #6 schreef.
Als je dan een MsgBox (resultaat) zie je de uitkomst. Maar om hem netjes te maken zou je dan dit moeten doen:
Code:
Sub Macro1()
    With Sheets("Blad1")
        MsgBox IIf(.Range("B14") <> 0 Or .Range("B16") <> 0, .Range("G2"), .Range("I2"))
    End With
End Sub

Daarmee vermijd je het gebruik van de vertragende .Select
 
Laatst bewerkt:
#7 gemist?

Nu is het een toets op B14 en B16 met als resultaat G2 of I2? Ook staat in het voorbeeldbestand de totale macro niet. Als je er weinig vanaf weet dan moet je de vraag concreet stellen en een goed voorbeeld plaatsen. Anders blijft het maar gokken wat de uitkomst moet zijn.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan