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

Anders (software)

Namen definiëren met macro in Excel

Anoniem
MahrYon
4 antwoorden
  • Probleem:

    In een Excel werkblad staan een aantal kolommen met gegevens.
    Boven elke kolom staat een naam.
    Nu wil ik de cellen van rij 2 t/m rij 32 in elke kolom met behulp van
    een macro de naam geven die boven de kolom geselecteerd staat.

    Nog mooier zou zijn dat de macro start met kolom A en automatisch
    doorgaat tot en met de laatste kolom gegevens.
    Wie weet raad?

    Met dank in het voren.
  • Sub Kolomnamen()
    ActiveWorkbook.Names.Add Name:=Range("A1").Value, RefersToR1C1:="=Blad1!R2C1:R32C1"
    ActiveWorkbook.Names.Add Name:=Range("B1").Value, RefersToR1C1:="=Blad1!R2C2:R32C2"
    End Sub

    A1, B1, enz. moeten uiteraard wel eerst zijn ingevuld.
  • Bedankt, Aimable voor de snelle reactie.

    Zover was ik zelf ook al gekomen. Dit levert mij nauwelijks winst t.o.v. met de hand invoeren.

    Wat ik eigenlijk wil, is dat de macro automatisch namen toekent aan een reeks kolommen, waarbij de naam wordt afgeleid van de inhoud van de bijbehorende cel in rij 1.

    Ik zoek dus zoiets:
    [code:1:6775402599]
    Sub Kolomnamen()
    kolom = 0
    Range("A1").Select
    Do Until ActiveCell = ""
    kolom = kolom + 1
    Cells(1, kolom).Select
    ActiveWorkbook.Names.Add Name:=ActiveCell.Value, RefersToR1C1:="=Blad1!ActiveCell.Offset(2,0):Blad1!ActiveCell.Offset(34,0)"
    Loop
    End Sub [/code:1:6775402599]

    De namen worden goed opgehaald, de verplaatsing naar rechts gaat goed, hij stopt bij de eerste lege cel in rij 1, alleen het gebied wordt letterlijk, dus fout, overgenomen uit het gedeelte tussen aanhalingstekens.

    Hoe moet ik dat oplossen?

    Met dank in het voren.
  • Is dit wat je zoekt?
    De macro geeft namen tot er in rij 1 geen tekst meer voorkomt.
    Sub Macro1()
    Dim x As Integer
    x = 1
    Do While Cells(1, x) <> ""
    ActiveWorkbook.Names.Add Name:=Cells(1, x), RefersToR1C1:="=Sheet1!R2C" & x & ":R32C" & x
    x = x + 1
    Loop
    End Sub

Beantwoord deze vraag

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