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

nieuw blad toevoegen, met de naam uit een cel van een andere excel kolom a1

Status
Niet open voor verdere reacties.

demarc69

Gebruiker
Lid geworden
10 aug 2011
Berichten
8
Hoe kan ik met VB in een excel, een nieuw blad toevoegen (sjabloon) en die de naam geven uit een excel kolom a1 .. a128
 
Wil je 128 tabbladen toevoegen?
Of moet een bepaalde cel worden gekozen uit het bereik?

Met vriendelijke groet,


Roncancio
 
128 voor elke waarde van a1 tot a128 een nieuw blad met de naam uit a1 tot a128
 
Zoiets?
 

Bijlagen

  • Tabjes toevoegen.xlsb
    19,5 KB · Weergaven: 52
Even los van de beperkingen die er aan tabnamen gesteld zijn.

Code:
Sub VenA()
For Each cl In Blad1.Columns(1).SpecialCells(2)
  If IsError(Evaluate(cl & "!A1")) Then
    Sheets("sjabloon").Copy , Sheets(Sheets.Count)
    ActiveSheet.Name = cl
  End If
Next cl
End Sub
 
verduidelijking probleem

situatie schets

excel 1 bevat naast allerhande date een kolom a (met namen)
excel 2 is een sjabloon (dient gekopieer te worden)
excel 3 is een nieuwe excel waar in voor elke naam uit excel 1 het sjabloon excel 2 moet worden gekopieerd als nieuw tabblad met de naam uit excel1

ik zou hiervoor een macro willen schrijven, maar helaas is mijn kennis nogal beperkt
 
Neem eens een macro op waarbij je het voor 1 blad doet en plaats de code hier. Met de tot nu te gegeven informatie is er van alles te verzinnen maar niets te maken voor iemand zonder kennis van VBA. De basis voor het dupliceren van tabjes staat in #5

Plaats ook even de twee bestanden want zowel 'excel 1 bevat naast allerhande date een kolom a (met namen)' als 'excel 2 is een sjabloon' is nogal nietszeggend.
 
Ik zie in geen van de bestanden een macro opname. Ook geef je niet aan welke tab nu het sjabloon is. Als de bestanden in dezelfde map staan kan je deze proberen en geheel aanpassen naar eigen wensen.
De basis staat erin maar de uitleg is wel dermate summier dat het zeer waarschijnlijk niet correct zal zijn.

Code:
Sub VenA()
  Dim j As Long, ar
  ar = Sheets("Blad1").Columns(1).SpecialCells(2)
  With GetObject(ThisWorkbook.Path & "\excel2.xlsx")
    .Sheets("Geconsolideerde aflossingstabel").Copy 'of .sheets("033-000.V").copy
    .Close
  End With
  ActiveSheet.Name = ar(1, 1)
  For j = 2 To UBound(ar)
    If IsError(Evaluate(ar(j, 1) & "!A1")) Then
      Sheets(ar(1, 1)).Copy , Sheets(Sheets.Count)
      ActiveSheet.Name = ar(j, 1)
    End If
  Next j
  ActiveWorkbook.SaveAs ThisWorkbook.Path & "\ikdoemaarwat_" & Format(Now, "yyyymmdd_hhmmss")
End Sub
 

Bijlagen

  • excel1.xlsb
    15,1 KB · Weergaven: 51
Laatst bewerkt:
alles een beetje meer verduidelijken

het is de bedoeling dat in een nieuwe excel (resultaat.xlsm) voor elk project uit excel1 een nieuw blad wordt aangemaakt met de naam van het project (uit excel1) en waar uit excel 2 de gele zone wordt gekopieerd en in het tabblad (resultaat) wordt geplaatst.

in resultaat heb ik een macro opgenomen die dit doet voor het eerste project, maar wanneer ik de macro opnieuw run, krijg ik foutmeldingen.

ik heb ook #12 geprobeerd, maar krijg een foutmelding Next zonder for (compileerfout)
 

Bijlagen

  • excel1.xlsx
    10,6 KB · Weergaven: 37
  • excel2.xlsx
    15 KB · Weergaven: 53
  • resultaat.xlsm
    14,4 KB · Weergaven: 46
Vanuit welk bestand wil je de macro dan starten? Vanuit een nog niet bestaand bestand kan het natuurlijk niet.
 
vanuit resultaat, daar zo de macro in worden opgestart.

en zijn gegevens komen dan uit excel 1 (naam van het project) en excel 2
 
Ik begrijp er helaas niets van. Een template is normaal gesproken iets anders dan wat jij er mee bedoelt en verder zijn de benamingen van de tabjes ook niet duidelijk. In de code van #12 staat volgens mij alles wat je nodig hebt. Dus ik laat het maar even over aan jouw eigen kunnen of een andere helper.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan