Excel formule in VBA gebruiken

Status
Niet open voor verdere reacties.

gelderke

Gebruiker
Lid geworden
19 jul 2016
Berichten
26
Hallo,

Ik wil graag doormiddel van VBA een formule in een cel plaatsen. Hoe kan ik het volgende werkend krijgen, zodat ook de verwijzingen naar de cellen variabel zijn?

Code:
ActiveSheet.Cells(1, 4).FormulaLocal = "=ALS('Vakantie 2016'!D6="V";"Vrij";ALS('Vakantie 2016'!D6="x";"vakantie";""))"
 
Maak er eens dit van:
Code:
ActiveSheet.Cells(1, 4).FormulaLocal = "=ALS('Vakantie 2016'!D6=""V"";""Vrij"";ALS('Vakantie 2016'!D6=""x"";""vakantie"";""""))"
 
Dankjewel!
En hoe kan ik dan deze formule variabele maken met de variabele i en j?

Code:
ActiveSheet.Cells(i, 4).FormulaLocal = "=ALS("& Sheets('Vakantie 2016').cells(j,"& D")")"=""V"";""Vrij"";ALS('Vakantie 2016'!D6=""x"";""vakantie"";""""))"
 
Je hebt daar bij cells(j de " tekens onjuist gebruikt.
 
Het werkt nog steeds niet....

Code:
Sub Formule_aanwezig_afwezig()
Dim j As Long
j = 1
For i = 5 To 20 Step 3
    ActiveSheet.Cells(i, 4).FormulaLocal = "=ALS("&Sheets('Afwezig').cells(j,4)"=0;"" "";" & Sheets('Afwezig').cells(j,4).value)"
    j = j + 1
Next i

End Sub
 
Waarom maak je er geen gewone formule van? Dan heb je geen VBA nodig.
PHP:
=ALS(INDIRECT("'Afwezig'!" &"D"&(RIJ()-2)/3)=0;"";INDIRECT("'Afwezig'!"&"D"&(RIJ()-2)/3))

Met VBA om de formule toch te plaatsen
Code:
Sub VenA()
For j = 5 To 20 Step 3
    Cells(j, 4).Formula = "=IF(INDIRECT(""'Afwezig'!"" &""D""&(ROW()-2)/3)=0,"""",INDIRECT(""'Afwezig'!""&""D""&(ROW()-2)/3))"
Next j
End Sub

Of voor een direct resultaat
Code:
Sub VenA1()
ar = Sheets("Afwezig").Columns(4).SpecialCells(2, 1)
For j = 1 To UBound(ar)
    Cells(5, 4).Offset((j - 1) * 3) = IIf(ar(j, 1) = 0, """", ar(j, 1))
Next j
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan