excel formule in vba

Status
Niet open voor verdere reacties.

hellboy01

Gebruiker
Lid geworden
18 jun 2006
Berichten
333
Hi,
Weet iemand hoe je een excel formule in VBA kan zetten

dit is een voorbeeld;

=IF(H39<>"";IF(H39<>0;IF(H39=21;8052;8051);8050);"")

alvast bedankt rob
 
Code:
Cells(1).Formula = "=IF(H39<>"""",IF(H39<>0,IF(H39=21,8052,8051),8050),"""")"
 
Toch nog even een aanvullend vraagje. Ik zie dat de formule in de cel wordt weggeschreven, is het mogelijk alleen de waarde in de cel te zetten?
 
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If [H39] = 21 Then [A1] = 8052
If [H39] <> 21 And [H39] <> 0 Then [A1] = 8051
If [H39] = 0 Then [A1] = 8050
If [H39] = "" Then [A1] = ""
End Sub
 
Hi SjonR,
Bedankt, dit is eigenlijk wat ik zocht, ik heb het een beetje aangepast.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If [H39] = 21 Then [A1] = 8052
If [H39] = 6 Then [A1] = 8051
If [H39] = 0 Then [A1] = 8050
If [H39] = "" Then [A1] = ""
End Sub
 
Waarom in een SelectionChange?
Code:
[A1] = IIf([H39] = "", "", 8050 + ([H39] = 21) * -2 + ([H39] = 6) * -1)
 
En waar zet je die dan onder? Een normale change dan?
 
Laatst bewerkt:
@SjonR,

Is geheel afhankelijk van het doel van dit projectje.;) Bij een selectionchange wordt de code elke keer opnieuw uitgevoerd zodra je een willekeurige cel selecteert. En dan lijkt mij de normale change meer gepast.
 
Mee eens. Het is eigenlijk een beetje gemakzucht, want zodra je naar worksheet scrollt, krijg je de selectionchange direct in je schoot geworpen. Maar bij iedere move weer herberekenen is inderdaad zinloos.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan