Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

Heel simpel Excel macrootje gevraagd

hws
2 antwoorden
  • Vroeger maakte ik nog eens macros. Maar sinds VBA krijg ik er de vinger niet meer achter :o. En in de helpfuncties en boeken staat ook drie keer niks.

    Ik wil telkens 1 cel in een kolom bewerken. Bijvoorbeeld het verwijderen van initialen voor een naam.

    C.U. Nimbus
    A.L.T.O. Cumulus
    C.I. Stratus
    G. Oedweer
    S.L. Echtweer

    Moeten worden:
    Nimbus
    Cumulus
    Stratus
    Oedweer
    Echtweer

    Ik neem een nieuwe macro op met de volgende toetsaanslagen, staande op de eerste te bewerken cel.

    F2
    Home
    Ctrl + Shift + Right
    Delete
    Enter
    Down

    Stop recording

    Als ik die echter uitvoer, met of zonder relatieve celreferentie, wordt in alle cellen dezelfde tekst geplaatst, in dit geval Nimbus.

    Wat doe ik verkeerd? :-?
  • [quote:f77af074c3="Cumulonimbus"]Als ik die echter uitvoer, met of zonder relatieve celreferentie, wordt in alle cellen dezelfde tekst geplaatst, in dit geval Nimbus.

    Wat doe ik verkeerd? :-?[/quote:f77af074c3]
    Niks, de macrorecorder "begrijpt" je bedoeling alleen niet. Alleen het resultaat van de actie die je opneemt, telt. In de cel waar jij de macro hebt opgenomen, is het resultaat van je acties dat de cel de waarde "Nimbus" krijgt. Dat is dus wat de macrorecorder dus vastlegt.
    Kijk maar eens in de code (Alt-F11).
    Wat wel werkt is het volgende:
    [code:1:f77af074c3]ActiveCell.Value = Trim$(Mid$(ActiveCell.Value, InstrRev(ActiveCell.Value, ".") + 1))[/code:1:f77af074c3]
    Nu krijgt de cel als waarde alle tekst rechts van de laatste ".", van de oorspronkelijke tekst. De Trim$() functie zorgt ervoor dat spaties voor en achter de tekst worden verwijderd.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.