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.