hoe kan ik de cel naast de activecel selecteren zonder "range"

Status
Niet open voor verdere reacties.

Sander11

Gebruiker
Lid geworden
27 mrt 2008
Berichten
84
Beste lezer,

Ik wil graag een macro hebben waarbij ik vanuit de geselecteerde cel 1 cel wil opschuiven om daar een cel te vullen met de datum van vandaag.

Via de zoekfunctie kom ik op de volgende regel:

[CODE
ActiveCell.Select
ActiveCell.Offset(1,0)
ActiveCell.FormulaR1C1 = "105"
[/CODE]

Ik wil dus vanuit de active cel, 1 cel naar rechts en daar het getal 105 in te vullen. Ik krijg echter een compileerfout op de 2e regel. Ik snap het niet want die regel heb ik vanuit een vraag van iemand anders gekopieerd.

Iemand een idee?

Groetjes,
Sander
 
Laatst bewerkt:
Probeer deze eens.
Code:
ActiveCell.Offset(1, 0).FormulaR1C1 = "105"
 
Ik zag dat hij naar rechts moet, die van mij ging naar onder.
Deze gaat naar rechts
Code:
ActiveCell.Offset(0, 1).FormulaR1C1 = "105"
 
Hallo Wim,

Hij is korter en werkt ook. Prachtig!

Mag ik je nog een vraagje stellen.

In onderstaand gedeelte van de makro (nog niet aangepast naar je laatste tip) wil ik graag dat de volgende actie is dat de waarde van de cel boven de actieve cel +1 wordt neergezet in de actieve cel. Eigenlijk een soort teller dus.

Code:
Range("c" & ActiveCell.Row).Select
    ActiveCell.FormulaR1C1 = "105"
    Range("g" & ActiveCell.Row).Select
    ActiveCell.FormulaR1C1 = "=TODAY()"
    Range("a" & ActiveCell.Row).Select

Heb je voor mij een tip?

Groetjes,

Sander
 
Kijk of dit is wat je bedoel.
Code:
ActiveCell.Offset(-1, 0).FormulaR1C1 = "105" + 1
 
Hallo Wim,

De formule ziet er goed uit. Ik wil hem graag even proberen. Alleen die "105" zou de bovenliggende cel moeten zijn. Heb je daar nog een tip voor?

dus in A1 staat een getal
dan wil ik graag in A2 de waarde van A1+1
 
Hallo Wim,

Ik zag ook dat hij naar rechts ging. Heb hem aangepast.
Ik hoop dat je mijn laatse vraag nog kunt beantwoorden.

Groet,
Sander
 
dus in A1 staat een getal
dan wil ik graag in A2 de waarde van A1+1
Is dit wat je bedoel?
Code:
ActiveCell.Offset(1, 0).FormulaR1C1 = "=R[-1]C+1"
 
Hier het aangepaste stukje code van je
Code:
Range("C" & ActiveCell.Row).FormulaR1C1 = "105"
Range("G" & ActiveCell.Row).FormulaR1C1 = "=TODAY()"
Range("A" & ActiveCell.Row).Select
 
Hallo Wim,

Hij doet het! ik heb alleen van de 1 een 0 gemaakt, anders zette hij het getal een regel te laag.

Code:
Range("C" & ActiveCell.Row).FormulaR1C1 = "105"
Range("G" & ActiveCell.Row).FormulaR1C1 = "=TODAY()"
Range("A" & ActiveCell.Row).Select
    ActiveCell.Offset(0, 0).FormulaR1C1 = "=R[-1]C+1"
    ActiveCell.Offset(1, 1).Select

Verder heb ik de laatste regel toegevoegd zodat hij weer op een nieuwe regel in kolom B begint.

Super bedankt voor je hulp!

Groetjes,
Sander
 
Moet het dan niet zo zijn?
Code:
Range("C" & ActiveCell.Row).FormulaR1C1 = "105"
Range("G" & ActiveCell.Row).FormulaR1C1 = "=TODAY()"
Range("A" & ActiveCell.Row).Offset(0, 0).FormulaR1C1 = "=R[-1]C+1"
ActiveCell.Offset(1, 1).Select
 
Hallo Wim,

Dan is hij inderdaad helemaal af en netjes.

Super bedankt voor je hulp!

Groetjes,

Sander
 
Sander11,

Je kunt beter Date gebruiken dan "=TODAY()"
omdat bij Today morgen de datum 15-01-2010 staat i.p.v. 14-01-2010 wat het nu is.
Today() (=Vandaag() ) veranderd iederedag.

Code:
Range("C" & ActiveCell.Row) = "105"
Range("G" & ActiveCell.Row) = Date 
Range("A" & ActiveCell.Row) = "=R[-1]C+1"
 
Laatst bewerkt:
Hallo Wim,

Dat is een hele goede tip. Daar had ik niet aan gehad. Ik ga mij macro's aanpassen. Dat kan ik vanavond pas doen.

Mocht ik toch nog een vraagje hebben bij het uitwerken van je tips, een mag ik je dan nog keer benaderen?

Groet,

Sander
 
Sander11,

Mocht ik toch nog een vraagje hebben bij het uitwerken van je tips, een mag ik je dan nog keer benaderen?
Natuurlijk mag dat.
Alleen ben ik morgen niet thuis maar er zijn nog zat andere helpers aanwezig voor je.
 
Links van de aktieve cel: activecell.offset(,-1)="links"
rechts van de aktieve cel: activecell.offset(,+1)="rechts"
boven de aktieve cel: activecell.offset(-1)="boven"
onder de aktieve cel: activecell.offset(1)="onder"

gebruik geen formulaR1C1
.offset(0,0) is overbodig

Code:
Range("A" & ActiveCell.Row)= "=R[-1]C+1"
of
Code:
ActiveCell="=R[-1]C+1"
 
Hallo SNB, Wim, Jelte of iemand anders die hier handig in is.

De formule van Wim werkt wel maar er gaat iets niet goed. Het resultaat van de onderstaande regel is dat er een formule in de cel staat en niet een getal.

in cel A5 staat bijvoorbeeld "A4+1". Dat is uiteraard juist. Echter ik wil deze cel kopieren naar een ander werkblad. Daar aangekomen wil ik de cel plakken. Vervolgens kijkt een andere cel met zoeken naar de net geplakte cel naar het vorige werkblad. Kun je het nog volgen?

Ik merk dat het zoeken niet lukt als het een waarde is die een formule inhoudt. Ga ik de cel vullen met een getal, dan lukt het wel.

Is er een andere manier om onderstaande regel te schrijven waardoor het resultaat een getal is en geen formule?

Code:
Range("A" & ActiveCell.Row) = "=R[-1]C+1"

Ik gebruik het resultaat dus in de onderstaande macro:

Code:
Range("C" & ActiveCell.Row).FormulaR1C1 = "105"
    Range("G" & ActiveCell.Row).FormulaR1C1 = "=TODAY()"
    Range("A" & ActiveCell.Row).Select
    ActiveCell.FormulaR1C1 = "=R[-1]C+1"
    Selection.Copy
    Sheets("nota tien").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
     Sheets("nota tien").Select
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\s.spitzers\Desktop\" & Range("d14") & " nota" & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
    Sheets("deb beheer").Select
    ActiveCell.Offset(1, 1).Select

Ik ben degene met de verlossende tip zeer dankbaar!

Groetjes,
 
beetje proberen en doen en... voila, zelf de oplossing gevonden door marcro op te nemen met wat ik wilde doen. Vervolgens een plakken in de bestaande makro.

Groetjes,

Sander
 
Haal al die select, activate en formulaR1C1 uit je VBA-code
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan