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

Macro gebruiken om formules in cellen te plaatsen

Status
Niet open voor verdere reacties.

Thelosen

Nieuwe gebruiker
Lid geworden
29 dec 2005
Berichten
3
Ik heb het volgende macro geschreven:
Sheets("Schakelblad").Select
Aantal = Range("D1") (Deze is standaard 20, na 1 run dus 35)
For teller = Aantal + 1 To Aantal + 15
rijnr = teller + 6
Sheets("C0").Copy Before:=Sheets("Tarieven")
Sheets("C0 (2)").Name = ("C" & teller)
Range("B2").Select
With Worksheets("Overzicht")
.Range("C" & rijnr) = "=IF(RC[20]=TRUE,'C21'!R2C2,0)":evil:
End With
Next teller
Sheets("Schakelblad").Select
Range("D1") = teller - 1
Dit macro maakt 15 stuks nieuwe bladen aan en plaatst een verwijzing naar ieder blad op een overzichtsblad. Deze verwijzingen (naar cel B2) zouden moeten gaan naar blad C21, C22, enz.
Weet iemand hoe je de formule aan moet passen om te verwijzen naar de volgende pagina's? (Natuurlijk binnen deze loop....)
Ik zie het even niet..:o :o
 
In een normale formule kun je bijvoorbeeld ="C"&A1 zetten.
Dan maakt Excel een string met C gevolgd door de waarde in A1 aan.
Als dat niet lukt kun je vast wel iets als "C" + waarde doen
waarin waarde dan gevuld wordt met Format(variable met juiste nummer, "formatstring");

Zoek maar even... het geheel kun je dan op de juiste plaats in je macro plakken. Daar maak je immers ook een tekst die je als formule in een cel plakt.

Hm, ik kijk nog even naar je macro...
Probeer eens: "=IF(RC[20]=TRUE,'C"&21&"'!R2C2,0)"
waarin je dan 21 vervangt door een sommetje met de juiste waarde.
 
Laatst bewerkt:
Palmpje zei:
In een normale formule kun je bijvoorbeeld ="C"&A1 zetten.
Dan maakt Excel een string met C gevolgd door de waarde in A1 aan.
Als dat niet lukt kun je vast wel iets als "C" + waarde doen
waarin waarde dan gevuld wordt met Format(variable met juiste nummer, "formatstring");

Zoek maar even... het geheel kun je dan op de juiste plaats in je macro plakken. Daar maak je immers ook een tekst die je als formule in een cel plakt.

Hm, ik kijk nog even naar je macro...
Probeer eens: "=IF(RC[20]=TRUE,'C"&21&"'!R2C2,0)"
waarin je dan 21 vervangt door een sommetje met de juiste waarde.

Helaas, Excel blijft tegenwerken. Er zou iets moeten staan als: & teller. Ik zoek alleen naar de juiste notitie...
 
Hmmm, het volgende werkt bij mij:

Sub Macro1()
'
teller = 2
Range("A4") = "=C" & teller & "*2"
End Sub

Nu ga ik plat en kijk pas morgenavond weer (ja, ik mag nog werken dit jaar).
 
Vervang "=IF(RC[20]=TRUE,'C21'!R2C2,0)"
door: "=IF(RC[20]=TRUE, C" & teller & "!R2C2,0)"
De macro zit slordig in elkaar, je doet er verstandig aan om:
- de variabelen Aantal, teller, en rijnr te declareren,
- van Range("D1") => Range("D1").value te maken,
- en .Range("C" & rijnr) = te vervangen door .Range("C" & rijnr).FormulaR1C1 =
 
Laatst bewerkt:
franç zei:
Vervang "=IF(RC[20]=TRUE,'C21'!R2C2,0)"
door: "=IF(RC[20]=TRUE, C" & teller & "!R2C2,0)"
De macro zit slordig in elkaar, je doet er verstandig aan om:
- de variabelen Aantal, teller, en rijnr te declareren,
- van Range("D1") => Range("D1").value te maken,
- en .Range("C" & rijnr) = te vervangen door .Range("C" & rijnr).FormulaR1C1 =
Bedankt voor dit antwoord. Ik wist dat mijn notatie niet juist was maar kwam er niet uit..:o Dit werkt inderdaad perfect!

Ik ga de slordigheden eruit halen en ga er iets moois van proberen te maken.

Heel erg bedankt en alvast een gelukkig nieuwjaar voor iedereen die meegedacht heeft om mijn probleem op te lossen.:thumb: :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan