[Excel] Naam van een cel veranderen

Pagina: 1
Acties:
  • 801 views sinds 30-01-2008
  • Reageer

  • JasperE
  • Registratie: December 2003
  • Laatst online: 27-01 23:07
He allemaal, bijna iedere excel gebruiker weet wel dat je een voor een cel een naam kan definieren. En dan later naar deze cel kan verwijzen in formules door de naam van deze cel op te geven in de formule.

Wat ik echter niet weet is of het ook mogelijk is om zo'n naam te wijzigen zodat alle referenties naar deze naam in formules van andere cellen ook mee veranderen. Wat me wel lukt is een nieuwe naam aan een cel toekennen en de oude naam vervolgens verwijderen, maar ik dit doe veranderen de referenties in formules van andere cellen niet mee :'(

Weet iemand hoe je de naam van een cel kan wijzigen in plaats van verwijderen en een nieuwe naam toekennen?

  • JasperE
  • Registratie: December 2003
  • Laatst online: 27-01 23:07
Ik heb inmiddels wel deze sub gevonden om alle namen te resetten naar normale celverwijzingen zoals A1:B2

code:
1
2
3
4
5
6
7
8
Sub Dename()
  Dim Cell As Range
  ActiveSheet.TransitionFormEntry = True
  For Each Cell In Selection.SpecialCells(xlFormulas)
    Cell.Formula = Cell.Formula
  Next
    ActiveSheet.TransitionFormEntry = False
End Sub


Alleen is dit niet echt wat ik zoek :/

Mijn probleem is dat ik een inmiddels behoorlijk groot werkblad heb en achteraf een aantal velden een verkeerde naam heb gegeven. Als ik die velden gewoon zou kunnen renamen zonder alle formules handmatig te hoeven wijzigen zou dat dus wel heel erg handig zijn.

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Volgens mij kan hetgeen niet wat je wilt :/

Je zou kunnen kijken of je met VBA eerst de referenties in je velden kan wijzigen en vervolgens de naam opnieuw aanmaken?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Excel -> VBA opnemen -> celnaam geven ->
code:
1
ActiveWorkbook.Names.Add Name:="woei", RefersToR1C1:="=Blad1!R1C1"

Ergo: loop ActiveWorkbook.Names langs.
code:
1
2
3
4
    For Each naam In ActiveWorkbook.Names
        Debug.Print naam.Name
        Debug.Print naam.RefersTo
    Next naam

Aanpassen naar wens.

Edit:
code:
1
If naam.Name = "woei" Then naam.Name = "waai"

Nu wordt gezegd dat het niet kan moet ik hele hele antwoord wel even geven :P


edit2: O-) :+

[ Voor 22% gewijzigd door F_J_K op 21-09-2004 15:25 ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • JasperE
  • Registratie: December 2003
  • Laatst online: 27-01 23:07
Heel netjes :) Het werkt!
code:
1
2
3
4
5
Sub verandernaam()
    For Each naam In ActiveWorkbook.Names
        If naam.Name = "inp_q" Then naam.Name = "inp_Q2"
    Next naam
End Sub


Alleen de formules veranderen dan nog steeds niet mee en behouden de oude inp_q naam, ik had verwacht dat deze wel mee zouden veranderen.

Maar dat heb ik zo opgelost:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub ChgInfo()

  oldname = "inp_q"
  newname = "inp_Q2"
  
  For Each naam In ActiveWorkbook.Names
  If naam.Name = oldname Then naam.Name = newname
  Next naam
  
  Dim Sht As Worksheet
  For Each Sht In Worksheets
    Sht.Cells.Replace What:=oldname, _
      Replacement:=newname, LookAt:=xlPart, MatchCase:=False
  Next

End Sub

[ Voor 6% gewijzigd door JasperE op 21-09-2004 15:09 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

F_J_K schreef op 21 september 2004 @ 13:53:
Nu wordt gezegd dat het niet kan moet ik hele hele antwoord wel even geven :P
Ik trek ff de schoen aan :(

Jouw voorbeeld verandert nog steeds de referenties in 't document niet mee... Daar sloeg mijn zin op ja :( :> :P


En OD-Frozen heeft daar inmiddels een oplossing voor :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • JasperE
  • Registratie: December 2003
  • Laatst online: 27-01 23:07
BtM909 schreef op 21 september 2004 @ 14:57:
[...]

Ik trek ff de schoen aan :(

Jouw voorbeeld verandert nog steeds de referenties in 't document niet mee... Daar sloeg mijn zin op ja :( :> :P


En OD-Frozen heeft daar inmiddels een oplossing voor :)
jaja, maar het kan dus wel :P

Edit: Ik heb trouwens ontdekt dat mijn manier van vervangen inp_qt, wat een hele andere variabele is, ook vervangt en er inp_Q2t van maakt wat dus helemaal niet de bedoeling is :(

Ik ben er dus nog niet helemaal uit

[ Voor 28% gewijzigd door JasperE op 21-09-2004 15:06 ]


  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 07:59
OD-Frozen schreef op 21 september 2004 @ 15:00:
[...]
Edit: Ik heb trouwens ontdekt dat mijn manier van vervangen inp_qt, wat een hele andere variabele is, ook vervangt en er inp_Q2t van maakt wat dus helemaal niet de bedoeling is :(

Ik ben er dus nog niet helemaal uit
Als je maar een paar namen moet -> hierna weer alle inp_Q2t's vervangen door inp_qt. Tot een geval of 10 is dat vast heel efficient, anders moet er een wat slimmere oplossing komen (en ik mijn mond houden)

  • JasperE
  • Registratie: December 2003
  • Laatst online: 27-01 23:07
onkl schreef op 21 september 2004 @ 15:12:
[...]


Als je maar een paar namen moet -> hierna weer alle inp_Q2t's vervangen door inp_qt. Tot een geval of 10 is dat vast heel efficient, anders moet er een wat slimmere oplossing komen (en ik mijn mond houden)
jep, daar was ik al mee begonnen :)

Edit: Voor een betere oplossing hoeft niemand moeite te doen want het gaat prima zo :*) Wederom bedankt allemaal!

[ Voor 16% gewijzigd door JasperE op 21-09-2004 16:01 ]

Pagina: 1