Werkblad met door mij gekozen objectnaam toevoegen

  • Onderwerp starter Onderwerp starter ML71
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

ML71

Gebruiker
Lid geworden
10 mrt 2006
Berichten
70
Ik wil bij het toevoegen van een werkblad aan een bestand direct een door mij gekozen objectnaam toevoegen.

Ik dacht de onderstaande code te gebruiken, maar daar verschijnt een nieuw werkblad een objectnaam "Blad" met het eerstvolgende nummer.
Code:
dim Tabel as Worksheet
set tabel = sheets.add

Hoe krijg ik dit wel voor elkaar?
 
En dan te bedenken dat je er bijna was...
Code:
Dim ws As Worksheet
    Set ws = Sheets.Add
    ws.Name = "Onbekend"
 
t/m Excel 2003 kon je de codename eenvoudig wijzigen.
Sinds 2007 is het een alleen-lezen eigenschap geworden.
Met een kleine omweg lukt het toch:

Code:
Sub M_snb()
    With Sheets.Add
       ThisWorkbook.VBProject.VBComponents(.CodeName).Name = "voorbeeld"
       Msgbox .codename
    End with
End Sub

Als je alleen de naam (niet de codename) zelf wil instellen kan dat met

Code:
Sub M_snb()
  sheets.Add.Name="voorbeeld"
end Sub
 
Laatst bewerkt:
Dank voor de suggestie, maar helaas krijg ik bij het uitvoeren van de macro een foutmelding: Fout1004 tijdens uitvoering: Door de toepassing of door object gedefinieerde fout. Er wordt wel een tabblad toegevoegd, maar nog altijd zonder de objectnaam....
 
Zet de macro in de codemodule van 'Thisworkbook'.

Onderzoek ook nog even het onderscheid tussen codename en name.
 
Ook wanneer de macro in 'thisWorkbook' is gezet geeft hij dezelfde foutmelding :(
 
Welke versie gebruik je? snb geeft een oplossing die je volgens mij niet nodig hebt met 2010, want mijn oplossing werkt gewoon. Maakt niet uit waar je hem zet.
 
Ha OctaFish,

je code werkt inderdaad, maar doet niet wat ik wens. Met jouw code pas je de tabblad naam aan, maar niet de objectnaam van het tabblad. Hierdoor moet je, bij verwijzen naar het tabblad, in VBA code 'sheets("onbekend")' gebruiken om naar het object te verwijzen. Ik gebruik het liefst alleen de objectnaam...
 
Zie de bijlage

Je kunt de code natuurlijk maar 1 keer uivoeren vanwege de uniciteitseis voor werkbladnamen.
 

Bijlagen

Uiteraard. In mijn code wordt een bepaalde conditie getest waarna gekeken wordt of het werkblad bestaat, zo ja, dan wordt hij toegevoegd, zo nee dan gaat hij met het bestaande werkblad aan de slag.

Maar helaas... ook in dit bestand werkt het niet en krijg ik de foutmelding :(
 
Dit bestand (ik heb ooknog maar eens van hier gedownload) werkt wel. Wat doe jij verkeerd ? Gebruik je de macro in het bestand zonder enige aanpassing ?
Werk je Met Excel 2007 , 2010 of 2013 ?
 
Bij mij thuis doet hij het nu wel, ik moest in de optie 'toegang tot het objectmodel van het VBA-project vertrouwen' aanvinken. Helaas mag ik hier op mijn werk niet aankomen, dus zal ik het moeten doen met een work around... In ieder geval dank voor de hulp!
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan