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

standaard formule in een kolom

  • Onderwerp starter Onderwerp starter loic
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

loic

Gebruiker
Lid geworden
10 mei 2004
Berichten
121
Weten jullie of het mogelijk is om een forumle te zetten die geld voor de hele kolom. Dit heb ik nodig aangezien ik data uit de databsse haal en hij steeds een nieuwe rij toevoegd.

Belangrijk is ook dat hij afteld. Ik bedoel bijvoorbeeld dat de forumule is A1 + B1 en in de 2e rij A2 + B2.

Ik ben benieuwd aangezien het tot nu toe niet gelukt is.
 
Laatst bewerkt:
Ik neem aan dat het ophalen uit de database via VBA loopt. Dan kun je toch ook in de macro opnmemen dat formule xyz op een bepaalde plek moet worden toegevoegd.
 
Ik gebruik geen VBA. Ik maak een querie. ik heb een sql Db.

Weet je dan ook een oplossing?
 
Als via de query de gegevens in Excel zijn binnengehaald is het mogelijk om via VBA een formule op de nieuwste regel (onderaan) te laten zetten.
Ik ga er even vanuit dat de gegevens de kolommen A t/m B komen te staan en dat jouw formule =(A[onderste regel] + B[onderste regel] in kolom C moet komen.
 
Dit klink logisch alleen gaat het op alfabetiche volgorde en komt de rij tussen andere rijen en niet ondereen.
 
Had ik even geen rekening mee gehouden.
Dit impliceert dat de facto elke keer de gehele kolom C met een nieuwe formule (=A1+B1) - uiteraard zoals jij dat noemt oplopend - gevuld moet worden.

Probeer deze eens:
Code:
Option Explicit
Sub LOIC()
    Dim lastrow As Long
    lastrow = Cells(Rows.Count, 1).End(xlUp).Row
    Cells(1, 3).Resize(lastrow, 1).FormulaR1C1 = "=RC[-2]+RC[-1]"
End Sub
 
Ok dit lijkt te werken. Ik ga nu eens goed kijken wat je hebt gedaan en hoe ik ingewikkeldere formules hierin kan verwerken. Dank!
 
vervang:
FormulaR1C1 = "=RC[-2]+RC[-1]"
door:
Select

en ga in een testbestandje met wat getallen in de kolommen A en B spelen met de getallen in de code.
Zie je vrij snel wat e.e.a doet.
Mocht je een probleem hebben: laat maar weten.
PS: mijn dank voor je waardering van het antwoord.
 
k zie inderdaad wat hij doet. En het lukt me om de forumle aant passen zoals de + vervangen met min en dat ik aangeef welke, maar ingewikkeldere formules zoals tekst samenvoegen lukt niet. Daarom dacht ik dat dit wel zou werken, maar niet. Sugestie?


Code:
Sub LOIC()

    Dim lastrow As Long

    lastrow = Cells(Rows.Count, 1).End(xlUp).Row

    Cells(1, 3).Resize(lastrow, 1).FormulaR1C1 = "=SOM(RC[-2];RC[-1])"

End Sub

Ik probeer namelijk de formule uit te breiden.
 
Laatst bewerkt:
Loic,
VBA kent alleen Engels, de Nederlandse taal is 'ie' niet machtig, helaas. Dus de opdracht SOM werkt niet.
Gebruik in je testbestand eens de MacroRecorder en neem op wat je wilt berekenen.
Bijv. in cel F1 de formule =SOM(A1:E1)
wordt in VBA: "=SUM(RC[-5]:RC[-1])"
 
te gek!

Hier heb ik wel lol in. Begin ik het eindelijk te begrijpen!!
 
Dus Tekst.Samenvoegen in cel C1
in A1 een A en in B1 een B wordt:
Range("C1").Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[-2],RC[-1])"
Ergo: AB.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan