Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Tabblad namen wijzigen met macro  (gelezen 7255 keer)

0 leden en 1 gast bekijken dit topic.

Offline Georgyboy

  • Ervaren lid
  • ***
  • Berichten: 314
  • Geslacht: Man
  • Oplossing.be
Tabblad namen wijzigen met macro
« Gepost op: 28 oktober 2018, 12:01:23 »
Goeiedag ieder,

Vooreerst veel sterkte in deze dagen ter herinnering van jullie dierbaren.

Ik heb een bestand met zeer vele tabbladen waar per tabblad een knop is om naar het hoofdtabblad te gaan.

Daar is een kolom met het overzicht naar de tabbladen, huidige naam tabblad met hyperlink naar het tabblad.
daarnaast een kolom om het huidige tabblad te wijzigen en ook de éérdste kolom.

Doch loopt volledig fout (te weinig kennis) sorry


Is het mogelijk te helpen om te begrijpen wat er fout is ?


alvast bedankt


Groetjes Georgyboy



Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.129
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Tabblad namen wijzigen met macro
« Reactie #1 Gepost op: 28 oktober 2018, 13:02:53 »
Hallo GeorgeBoy,

dit laat ik over aan specialisten, maar ik zie al een belangrijke fout in je macro Sub Alfa()
Je verwijst daar meermaals naar een werkblad in je werkboek dat niet bestaat, namelijk ("Test 1")...

Als je namen van tabbladen wijzigt, dan moet je zeker je verwijzingen in je macro's bijwerken.

In tabblad HOME werkt de link naar tabblad "2" wel  (die in kolom A)
De andere linken zijn ongeldig en waarschijnlijk linken van voor dat je de tabbladen hernoemt hebt.

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.277
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Tabblad namen wijzigen met macro
« Reactie #2 Gepost op: 28 oktober 2018, 14:29:44 »
Probeer 'm zo 'ns...
Sub Hernoemen()

    SheetTabel = Sheets(1).Cells(1).CurrentRegion
   
    For i = 2 To UBound(SheetTabel, 1)
        ' test of een sheet bestaat
        Set WS = Nothing
        On Error Resume Next
        Set WS = Sheets(SheetTabel(i, 1))
        If Not WS Is Nothing Then
            ' oude naam is gevonden, dan aanpassen
            Sheets(SheetTabel(i, 1)).Name = SheetTabel(i, 2)
            Sheets(1).Hyperlinks.Add Cells(i, 2), "", Sheets(SheetTabel(i, 2)).Name & "!" & Cells(1).Address, CStr(SheetTabel(i, 2))
        Else
            MsgBox "De sheet '" & SheetTabel(i, 1) & "' is niet gevonden!", vbOKOnly, "Niet gevonden"
        End If
    Next i
End Sub
Naar mijn idee is het niet verstandig om de oude namen zomaar te overschrijven in je tabel. Ik heb er dus voor gekozen om de namen in kolom B te voorzien van een hyperlink. Zo kan je later altijd nog kolom A handmatig deleten.
______________________________

Groet, Leo

Offline Ex-lid

  • Oplosser
  • ****
  • Berichten: 670
  • Geslacht: Man
  • dit lid is verbannen
Re: Tabblad namen wijzigen met macro
« Reactie #3 Gepost op: 28 oktober 2018, 15:08:40 »
Hoi Georgyboy, alles goed in Veurne.
Ik  persoonlijk zie geen enkele reden waarom je hyperlinks zou gebruiken.
Met deze code maak je een lijst van alle tabbladen in je tabblad HOME (al verander je die 100 keer per dag, macrootje laten lopen en je hebt een nieuwe aangepaste lijst.
Sub dotch()
 x = 1
 Sheets("HOME").Range("A:A").Clear
 For Each sh In Worksheets
     Sheets("HOME").Cells(x, 1) = sh.Name
     x = x + 1
Next sh
End Sub
en met volgende code ga je naar het gewenste blad door dubbelklikken op de naam.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
v = Target.Value
For Each sh In Worksheets
    If sh.Name = v Then
        Cancel = True
        sh.Activate
    End If
Next sh
End Sub

Offline Georgyboy

  • Ervaren lid
  • ***
  • Berichten: 314
  • Geslacht: Man
  • Oplossing.be
Re: Tabblad namen wijzigen met macro
« Reactie #4 Gepost op: 28 oktober 2018, 15:51:49 »
Hey wat leuk  :)

deed een tukje en kreeg plots vele oplossingen aangeboden, hoe kan ik jullie bedanken ?

Hartelijk dank voor de oplossingen en het woordje info, waar we weer iets van leren  O-O

Graag had ik er iets meer van begrepen bij het opstellen, nu soms een code kopiëren en plakken met de fouten...…


Groetjes,
Georgyboy

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.129
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Tabblad namen wijzigen met macro
« Reactie #5 Gepost op: 29 oktober 2018, 23:11:14 »
Aan alle helpers en leden, het forum is terug actief.

Groeten,

SoftAid
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline emields

  • Ervaren lid
  • ***
  • Berichten: 257
  • Geslacht: Man
  • Oplossing.be
Re: Tabblad namen wijzigen met macro
« Reactie #6 Gepost op: 30 oktober 2018, 00:50:22 »
nog een oplossing

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.277
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Tabblad namen wijzigen met macro
« Reactie #7 Gepost op: 30 oktober 2018, 07:31:31 »
@DotchieJack, grappig... Dát was ook mijn éérste gedachte.   ;D
Maar daarna bekroop me het gevoel van het omgekeerde. Dat de TS dus een workbook had met heul veul sheets en die van naam moest gaan wijzigen en dat via een tabelletje wilde doen ipv tab voor tab aan te klikken en zo de naam aan te passen. Vandaar dat ik toch ben meegegaan in de wens van het aanpassen en niet van het genereren van een lijst van de actieve sheetnamen.  ;)
______________________________

Groet, Leo

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.277
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Tabblad namen wijzigen met macro
« Reactie #8 Gepost op: 30 oktober 2018, 07:32:41 »
Aan alle helpers en leden, het forum is terug actief.

Groeten,

SoftAid
Top geregeld. Goed dat het je toch nog gelukt is.  \o/
______________________________

Groet, Leo

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Tabblad namen wijzigen met macro
« Reactie #9 Gepost op: 30 oktober 2018, 13:35:42 »
Maar ik moet mezelf eigenlijk al in zekere mate corrigeren...

Op het voorbeeldbestand van TS waren de namen van alle tabbladen numeriek. Op het eigenlijke document is dat misschien niet het geval, meer nog : het zou een mix van numeriek en niet-numeriek kunnen zijn.
Daarom kan "v = Target.Value" beter wel blijven staan, maar dan onmiddellijk gevolgd door :
If Application.IsNumber(v) Then
    v = Trim(Str(v))
End If
Dan zou het altijd goed moeten gaan !

Groeten,
pitufo
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline Georgyboy

  • Ervaren lid
  • ***
  • Berichten: 314
  • Geslacht: Man
  • Oplossing.be
Re: Tabblad namen wijzigen met macro
« Reactie #10 Gepost op: 04 november 2018, 10:24:22 »
Sorry voor de vraag

is dit dan ook een code die kan gebruikt worden ?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
v = Target.Value

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
v = Target.Value
For Each sh In Worksheets
    If sh.Name = v Then
        Cancel = True
        sh.Activate
    End If
Next sh
End Sub
For Each sh In Worksheets
    If sh.Name = v Then
        Cancel = True
        sh.Activate
    End If
Next sh
End Sub


Allen hartelijk dank  :thumbsup: :thumbsup: :)

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Tabblad namen wijzigen met macro
« Reactie #11 Gepost op: 04 november 2018, 10:39:40 »
Hallo,
Ik vrees dat je nu toch een en ander gewoon door elkaar hebt gekieperd.
De code van Dotchiejack was zo goed als in orde. Veiligheidshalve mochten daar nog die enkele regeltjes uit mijn vorig bericht tussen.
De volledige code zou er bijgevolg zo mogen uitzien :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
v = Target.Value
If Application.IsNumber(v) Then
    v = Trim(Str(v))
End If
For Each sh In Worksheets
    If sh.Name = v Then
        Cancel = True
        sh.Activate
    End If
Next sh
End Sub
Groeten,
pitufo
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline Georgyboy

  • Ervaren lid
  • ***
  • Berichten: 314
  • Geslacht: Man
  • Oplossing.be
Re: Tabblad namen wijzigen met macro
« Reactie #12 Gepost op: 04 november 2018, 10:56:26 »
Hartelijk dank

Sorry dat ik jullie mooi werk door elkaar sla

Top voor jullie oplossingen  :thumbsup:

 


www.combell.com