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

nieuwe tabbladen aanmaken op basis van lijst op Blad1

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

tasli

Nieuwe gebruiker
Lid geworden
26 apr 2009
Berichten
4
Hallo

Op Blad1 van een werkblad staan vanaf cel A2 de namen van de leerlingen van een klas. Ik zou graag voor elke leerling automatisch een nieuw tabblad aanmaken met de naam van de leerling in cel B2.

Kan iemand mij daarbij helpen?
 
Plaats even een voorbeeld documentje.
 
Dit zou al kunnen werken... (er van uit gaande dat je in kolom A óók een header gebruikt...)
Code:
Sub ExtraWerkbladen()

    q1 = Sheets("Blad1").Columns(1).SpecialCells(xlCellTypeConstants)
    
    For i = 2 To UBound(q1)
        With Sheets.Add(after:=Sheets(Sheets.Count))
            .Cells(2, 2).Value = q1(i, 1)
            .Name = q1(i, 1)
        End With
    Next i

End Sub
Let op! Hier zit nog géén foutafhandeling in voor het geval bijvoorbeeld in de klas 2 kinderen zitten met dezelfde naam....
 
Of maar gelijk wél met de dubbele naam afhandeling...
Code:
Sub ExtraWerkbladen()
Dim TempNaam As String, i As Integer, x As Variant

    q1 = Sheets("Blad1").Columns(1).SpecialCells(xlCellTypeConstants)
    
    For i = 2 To UBound(q1)
        TempNaam = q1(i, 1)
        Do While WerkbladBestaat(TempNaam) = True
            x = x + 1
            TempNaam = TempNaam & x
        Loop
        If x = 0 Then x = ""
        With Sheets.Add(after:=Sheets(Sheets.Count))
            .Cells(2, 2).Value = q1(i, 1)
            .Name = TempNaam
        End With
    Next i

End Sub

Public Function WerkbladBestaat(WerkbladNaam As String) As Boolean
Dim NieuwWerkblad As Worksheet

    On Error Resume Next
    Set NieuwWerkblad = Sheets(WerkbladNaam)
    On Error GoTo 0
    WerkbladBestaat = Not NieuwWerkblad Is Nothing

End Function
 
Bedankt, Ginger, dat is precies wat ik zocht én het doet zelfs nog meer: het plaatst de naam van de leerling ook nog eens op het tabblad. Perfect!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan