• 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.

VBA: nieuwe tab, hernoemen, en vullen met range van andere tab?

Status
Niet open voor verdere reacties.

Femke0503

Gebruiker
Lid geworden
16 mei 2012
Berichten
9
Ik hoop dat jullie mij kunnen helpen met het volgende:

Ik wil op een knop drukken waarmee het volgende gebeurt (in welke volgorde dat handig is weet ik niet):

- Kopieer de inhoud van een tabblad genaamd Template (neem range A1:S15).
- Maak een nieuw tabblad aan, achteraan
- Vraag dmv popup de gebruiker om een naam voor het nieuwe tabblad
- Hernoem tabblad met die naam
-plak inhoud van Template in nieuw tabblad.

De kans dat een naam twee keer wordt gebruikt is niet groot. Eventueel wel een te lange naam (voornaam+achternaam)
De nieuwe tab heeft een tijdelijke naam zoals blad2 of sheet3 maar ik wil niet daarnaar verwijzen als de naam wordt hernoemt. Het moet namelijk keer op keer kunnen?

Volgens mij moet dit redelijk simpel kunnen?:love:
 
Is het mogelijk om het tabblad Template te kopieeren en een andere naam geven?

Code:
Sub Macro1()

    StrSHname = InputBox("Vul naam tabblad in.")

    For Each sh In ThisWorkbook.Sheets
    If sh.Name = StrSHname Then
    MsgBox "Sheet bestaat al, probeer een andere naam."
    Exit Sub
    End If
    Sheets("Template").Copy After:=Sheets(Sheets.Count)
    Sheets("Template (2)").Name = StrSHname
    
End Sub


Niels
 
ja waarom ook niet :) ik ga het proberen :)
Bedankt alvast, ik laat nog even weten of het is gelukt
 
ooh foutje :eek:

meteen de controle voor de lengte van de naam toegevoegd.

Code:
Sub Macro1()

    StrSHname = InputBox("Vul naam tabblad in.")
    For Each sh In ThisWorkbook.Sheets
    If sh.Name = StrSHname Then
    MsgBox "Sheet bestaat al, probeer een andere naam."
    Exit Sub
    End If
    Next
    If Len(StrSHname) > 31 Then
    MsgBox "naam is te lang"
    exit sub
    End If
    Sheets("Template").Copy After:=Sheets(Sheets.Count)
    Sheets("Template (2)").Name = StrSHname
    
End Sub

Niels
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan