Uitbreiden van mijn routine

Status
Niet open voor verdere reacties.

jandoedel2015

Gebruiker
Lid geworden
9 mei 2015
Berichten
10
Ik heb de volgende routine gemaakt om automatisch een nieuwe map aan te maken in excel met de naam welke ik aangeef in een werkblad genaamd "Hoofdblad"

Code:
Sub Tabblad_Namen()
    Dim dic As Object, x, i As Long, r As Range
    Dim ws As Worksheet, wsData As Worksheet
    Set dic = CreateObject("Scripting.Dictionary")
    Set wsData = Sheets("Hoofdblad")
    With wsData
        For Each r In .Range("a1", .Range("a65536").End(xlUp))
            If Not IsEmpty(r) Then
                If Not dic.exists(r.Value) Then
                    dic.Add r.Value, Nothing
                End If
            End If
        Next
    End With
    x = dic.keys
    For i = LBound(x) To UBound(x)
        On Error Resume Next
        Set ws = Sheets(CStr(x(i)))
        On Error GoTo 0
        If ws Is Nothing Then
            Set ws = Sheets.Add(after:=Sheets(Sheets.Count))
            ws.Name = x(i)
        End If
        Set ws = Nothing

Vul ik in "Hoofdblad"' "A1" Jantje in, dan komt er een nieuw blad "Jantje" en staat mijn cursor in "Jantje op A1"

Er is ook een map "formulier". Nu wil ik inbouwen dat in bovenstaande routine niet alleen een nieuwe map met betreffende naam wordt gecreëerd maar dat tevens de map formulier daarin wordt gekopieerd. Wie kan mij daarbij helpen?
 
Laatst bewerkt door een moderator:
Code:
sub M_snb()
  sn=Sheets("Hoofdblad").columns(1).specialcells(2)

  for j=1 to ubound(sn)
    if not evaluate("isref(" & sn(j,1) & "!A1)") then sheets.add.name=sn(j,1)
  next
End Sub

tweede vraag:

Code:
Sub M_snb()
  sn = Sheets("Hoofdblad").columns(1).SpecialCells(2)

  For j = 1 To UBound(sn)
    If Not Evaluate("isref(" & sn(j, 1) & "!A1)") Then
       Sheets("formulier").Copy , Sheets(Sheets.Count)
       ActiveSheet.Name = sn(j, 1)
    End If
  Next
End Sub
 
Laatst bewerkt:
snb dank voor je reactie. Ik begrijp niet goed je oplossing tweede vraag!.
Ik neem aan dat je deze sub M-snb niet in mijn sub Tabblad_Namen wil plakken of wel?
Zo ja hoe dan?
 
Ik maak waarschijnlijk een fout want op geen enkele wijze krijg ik de gewenste oplossing
 
Plaats dan even een voorbeeld bestandje met hoe je de code hebt toegepast. En Wat wat je eigenlijk wil. "Jantje" in A1 is wat anders dan een lijst met namen in kolom A.
 
Mijn routine doet het volgende:
Bij invulling van een naam in kolom A in blad "Hoofdblad" wordt automatisch een nieuw blad aangemaakt met de zojuist ingevulde naam in kolom A van blad Hoofdblad.
VB Ik geef in cel A1 van Hoofdblad in "Jantje" dan komt er een leeg blad bij genaamd Jantje.

Naast Hoofdblad is er ook een blad "Formulier". Ik wil nu dat de routine niet alleen een blad aanmaakt maar tevens in dat nieuwe blad een kopie van het blad Formulier plakt (ipv een leeg blad)
 
VenA, Een totaal andere benadering maar het werkt wel! (ik heb een veel te moeilijke weg gekozen, bij jou eenvoud)
Heel slim ook even een "foutje"in te bouwen. Dus jouw "gok" zoals je schrijft is meer dan goed gelukt.

Alleen moet er nu nog iets bij dat de gehele kolom A voldoet aan (dus niet alleen A1 maar dat hetzelfde gebeurd met A2 t/m A6605....)
Dit om op hoofdblad een overzicht te krijgen van alle namen en evt de daarbij behorende gegevens (bv in B kolom de woonplaats oid).
 
Is het niet gelukt om een voorbeeldje te uploaden? Want wat je nu wil ontgaat mij.
 
VenA Het programmaatje werk prima! Maar in hoofdblad komen meer namen voor (allen in kolom A)
Voor elke (unieke)naam moet dus een map aangemaakt worden.

Het voorbeeld
 

Bijlagen

Je hebt een .xlsx geplaatst deze bevat dus geen geen code. Verder laat je nergens zien waar de gegevens uit kolom B en C terecht moeten komen.

(dus niet alleen A1 maar dat hetzelfde gebeurd met A2 t/m A6605....)
Impliceert 6605 tabbladen wat mij ook niet werkbaar lijkt. De tweede code uit #2 zou ik eerst maar eens gaan proberen. Eventueel in combinatie met de aangereikte foutafhandeling.

Zelf zou ik denken dat je voor zoiets beter eens kan gaan zoeken op het gebruik van tabellen en hoe je van daaruit dmv bv draaitabellen mooie overzichten kan maken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan