• 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.

Opgelost Omzetten formule excell naar VBA code

Dit topic is als opgelost gemarkeerd

Bfonty

Nieuwe gebruiker
Lid geworden
18 feb 2025
Berichten
3
Hallo,
ik heb volgende formule =IF(LEFT(AG5;1)="6";"ACC";"FLOOR") die ik naar VBA code wil omzetten.
In mijn code heb ik volgende staan :
x.Sheets("DATA").Range("AH2:AH" & lastrow3).FormulaR1C1 = "=IF(LEFT(RC[-1],1)='6','ACC','FLOOR')"
Maar ik krijg foutmelding.
1739875647326.png
Weet iemand wat ik verkeerd doe ?
mvg
Bart
 
Klik op Debug, dan zie je welke regel het probleem veroorzaakt.
Daarnaast, zie #2.
 
Het lijkt erop dat je een bestaande formule wilt kopiëren en plakken naar beneden; kijk dan eens naar . FillDown, maar als je een tabel gebruikt wordt de formule automatisch voor je doorgezet en heb je geen VBA nodig en qua foutmelding gok ik op die ' ipv dubbele " in de te plakken formule
 
Zoals EvR al aangaf moet je formule er zo uitzien.
Code:
Sheets("DATA").Range("AH2:AH" & lastrow3).FormulaR1C1 = "=IF(LEFT(RC[-1],1)=""6"",""ACC"",""FLOOR"")"
maar omdat het gele pijltje wijst naar de 2de regel is er waarshijnlijk ook iets anders aan de hand.
Select en Selection is nooit de goede manier om iets gedaan te krijgen dus post je code nog eens maar zonder de foutmelding zodat ze volledig zichtbaar is.
 
Allen bedankt voor de reacties.
was een stomme beginnersfout die ik maakte ( tijdje geleden dat ik nog eens een nieuwe kpi maakte )
6, ACC en FLOOR moesten met dubbele haakjes ""6"", ""ACC" en ""FLOOR"".
 
De simpelste manier om een formule om te zetten naar VBA code is volgens mij:
Kies Macro Opnemen
Klik de cel met de formule aan
Klik daarna in het werkveld met de formule en geef Enter
Sluit de macrorecorder af.
Je formule staat nu in een Module
 
Vervolgens wel even aanpassen want er staat dan meestal veel overbodige code in.
 
Dat is uiteraard een goede tip. Daar werkt niet iedereen mee, dus die hebben daar misschien geen erg in...
Ik gebruikte echter vroeger deze manier om van een Werkmap alle formules achter elkaar op te slaan. Als je de code dan onveranderd draait, worden alle formules hersteld...als je er later formules bij maakt, moet je deze uiteraard ook aan de module toevoegen.
 
Waarom zou je een macro gebruiken om formules terug te zetten? Je kan dan evengoed die macro gebruiken om de berekeningen uit te voeren.
 
Dat lijkt me ook niet de bedoeling.
Ik denk dat TS de VBA code wil gebruiken in plaats van de formules, niet om de formules te plaatsen.
 
Dat denk ik ook, maar vond het leuk om even op de mogelijkheid te wijzen. Als iemand je formules vernielt of zo...
 
De simpelste manier om een formule om te zetten naar VBA code is volgens mij:
Kies Macro Opnemen
Klik de cel met de formule aan
Klik daarna in het werkveld met de formule en geef Enter
Sluit de macrorecorder af.
Je formule staat nu in een Module
Had intussen mijn fout al gevonden maar inderdaad, dit is een zeer nuttige tip. Net even uitgetest. Neem ik mee naar volgende projecten. Alvast bedankt !
 
Waarom zou je een macro gebruiken om formules terug te zetten? Je kan dan evengoed die macro gebruiken om de berekeningen uit te voeren.
Emields, dit heb ik ooit gebruikt voor oa een door mij gemaakt Garage Programma, en om foutjes (Ondanks elke beveiliging krijgen sommigen het nog voor elkaar om de boel te slopen) te voorkomen heb ik dus de macro gemaakt die in EEN klik ALLE formules herstelt. En geregeld plezier van gehad...
 
Zou een (verborgen) kopie werkblad niet volstaan ?
 
Terug
Bovenaan Onderaan