• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Macro mijn gewijzigde tabbladnaam over laten nemen

Status
Niet open voor verdere reacties.

Maurice1976

Gebruiker
Lid geworden
1 okt 2008
Berichten
17
Beste forumleden,

Is het mogelijk als ik een tabbladnaam wijzig dat deze dan overgenomen wordt in een al werkende macro??
 
Maurice1976,

Als je oderstaande code gebruikt om de Tabnaam te wijzigen.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  ActiveSheet.Name = [A1]
End Sub
Gebruik deze code om naar de Bladnaam te verwijzen.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
  [A2].Value = Sheets(1).[A1]
End Sub

Dit heb ik even getest op een nieuw werkblad.
De bovenste code achter Blad1 en de onderste code achter Blad2.
Verander de naam in blad1 en klik ergens in blad2 en je ziet de naam van blad1 in A2 staan.
Bedoel je het zo?
 
Hoi Wim,
Bedankt voor je snelle reactie, maar dit is denk ik niet helemaal wat ik bedoel.

Ik heb een macro die een die gegevens ophaalt uit bv. blad 1 (De naam blad 1 staat dus al in de macro).
Als ik nu blad 1 wil vernoemen naar bv. groepsgegevens, dan werkt mijn macro niet meer, omdat hij zoek naar de naam blad 1.

Ben ik zo wat duidelijker??
 
Misschien heeft iemand een beter idee, dus even geduld.
Je heb hier knappe koppen zitten, je weet maar nooit.
 
Maurice1976,

Dit staat in de help van Excel.
Kun je hier wat mee?
Ik heb het getest en als ik de naam van het blad verander blijft de codenaam het zelfde.

Dus Worksheets(1) = Blad1 ongeacht de naam van het blad.

Syntaxis

Expressie.CodeName

Expressie Een expressie die een Worksheet-object als resultaat geeft.

Opmerkingen

De waarde die u ziet in de cel rechts van (Naam) in het venster Eigenschappen is de codenaam van het geselecteerde object. Bij het ontwerpen kunt u de codenaam van het object wijzigen door deze waarde te wijzigen. U kunt deze eigenschap niet bij uitvoering van een programma wijzigen.

U kunt de codenaam van een object gebruiken in plaats van een expressie die het object als resultaat geeft. Als de codenaam voor werkblad 1 bijvoorbeeld 'Sheet1' is, zijn de volgende twee expressies identiek:

Worksheets(1).Range("a1")
Sheet1.Range("a1")

De bladnaam kan anders zijn dan de codenaam. Als u een blad maakt, zijn de bladnaam en de codenaam hetzelfde. Als u echter de bladnaam wijzigt, wordt de codenaam niet gewijzigd. Als u de codenaam wijzigt (via het venster Eigenschappen in de VBA-editor) wordt de bladnaam niet gewijzigd.

Voorbeeld

In het volgende voorbeeld wordt de codenaam voor werkblad 1 weergegeven.

Visual Basic for Applications
MsgBox Worksheets(1).CodeName
 
Laatst bewerkt:
Hmm, Op de een of andere manier lukt het nog niet..
Ik blijf er even mee stoeien, maar als ik de bronnaam opzoek en deze in de macro vermeld verwijst hij op de een of andere manier toch naar een ander werkblad !!???

Ik hou me aanbevolen voor tips!!
 
Ik heb nu door wat hij doet.
Als ik in de macro bijv. sheets("Groep 5-6") verander in Worksheets(3) (broncode is blad3), dan pakt hij de informatie van het derde blad van links geteld. Dus moet je weer rekening houden met het schuiven van tabbladen.
Kan ik dit toch niet op de één of andere manier vastzetten (de naam, want ik wil eventueel nog wel kunnen schuiven met de tabbladen)
 
Maurice1976,

Hier een voorbeeldje.
Hij kopieerd de gegevens van blad1 naar blad3 en de naam is "Standaard"van blad1.
 

Bijlagen

  • Test(Hv).xls
    40,5 KB · Weergaven: 48
Hahahahaha, bedankt voor zover....

Maar als je nu blad2 verschuift, zodat hij voor 'standaard' komt te staan, werkt de macro niet meer...hahahahahhaa.

Het blijft een leuke puzzel.
 
Hahahahaha, bedankt voor zover....
Maar als je nu blad2 verschuift, zodat hij voor 'standaard' komt te staan, werkt de macro niet meer...hahahahahhaa.
Het blijft een leuke puzzel.

Dat merk ik nu ook, hij kijk eigenlijk niet naar de codenaam maar telt inderdaad vanaf links.
Dat haal ik niet uit de help van Excel.


Wie weet heeft er iemand nog een idee.
 
Gebruik de codenaam v/h blad ( de naam die NIET tussen haakjes staat in de VB-Editor). Je kan de naam wijzigen, blad verplaatsen maar toch zal steeds naar het juiste blad verwezen worden.
Code:
Blad1.[A4:T43].Copy
in tegenstelling tot
Code:
Sheets(1)..[A4:T43].Copy
waarbij de plaats v/h blad belangrijk is
of
Code:
Sheets("Standaard")..[A4:T43].Copy
waarbij enkel de naam van tel is
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan