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

Macro voor duplicaat tabblad

Status
Niet open voor verdere reacties.

FormulaJ

Gebruiker
Lid geworden
27 jun 2016
Berichten
15
Hallo,

dit is mijn eerste post op dit forum omdat ik mijn antwoord niet kon vinden, ik zit al een tijdje te zoeken naar de mogelijkheid om een prijscalculatie sheet te maken waarbij er een hoofdsheet is met alle informatie en prijzen en dat er d.m.v. een macro steeds een nieuwe sheet wordt gecreerd die weer terugkomt met al zijn verwijzingen in het hoofdsheet. Het is dus eigenlijk een duplicaat maken en het vergroten van de lijst op de hoofdsheet met de juiste verwijzingen naar cellen. ik kan dit wel voor één product doen door het verbergen van rijen en dergelijke maar mijn doel is om dit voor uiteindelijk 25 producten te kunnen. is er hier een snelle oplossing voor?

bij voorbaat dank!
 
Als je er even een voorbeeldbestandje bij doet dan is er vast wel iemand die er naar wil kijken.
 
Hierbij het voorbeeld, ik wil dus eigenlijk elke keer een duplicaat met exact dezelfde verwijzingen van cellen voor de nieuwe tabbladen alleen op nieuwe regels in het hoofdtab.

Bekijk bijlage voorbeeld.xlsx
 
Laatst bewerkt:
Als je iets met een macro wilt doen dan kan je gewoon een macro-opname starten en later de code een beetje opschonen. Daarnaast is een combinatie van samengevoegde cellen en VBA ook niet zo'n goede keuze. Gegevens uit diverse tabjes verzamel je normaal gesproken in een tabel en niet in een opgemaakte sheet en zo kan ik nog wel even doorgaan.:d

De formules in de tab 'samenvatting' heb ik vastgezet dmv het $ teken.

Met deze code krijg je denk ik het gewenste resultaat.
Code:
Sub VenA()
  c00 = "2 VoCa NaCa item (1)"
  c01 = Replace(c00, "(1)", "(" & Sheets.Count - 1 & ")")
  Sheets(c00).Copy After:=Sheets(Sheets.Count)
  ActiveSheet.Name = c01
  With Sheets("samenvatting")
    lr = .Cells(.Rows.Count, 8).End(xlUp).Row
    .Rows("3:15").Copy .Cells(lr, 1).Offset(2)
    .Cells(lr, 8).Offset(3).Resize(11, 1).Replace c00, c01
    Application.Goto .Cells(lr, 8).Offset(3)
  End With
End Sub
 

Bijlagen

  • voorbeeld-4.xlsb
    48,7 KB · Weergaven: 31
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan