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

Kopieëren tabblad

Status
Niet open voor verdere reacties.

BramB2

Gebruiker
Lid geworden
12 feb 2009
Berichten
163
Hallo,
In excel heb ik een tabblad wat dient als een soort invul formulier. Nou zou ik wanneer dit formulier ingevuld deze graag willen kopieëren (gewoon de hele sheet)naar een nieuw tabblad. De grootste struikelblokken zijn denk ik:
- Er zitten knoppen met macro's in dit tabblad, deze moeten ook gecopieerd worden en blijven werken.
- Ik zou graag een berichtje willen krijgen waarin je de naam van dat nieuwe tabblad in kan voeren.
- En als het helemaal perfect kan: wanneer het tabblad gekopieerd is, automatisch een macro met knop toevoegen die naar deze sheet wijst. Ik denk dat dit overigens iets teveel van het goede is!

Iemand die ideen heeft? Ik heb gezocht en gezocht maar kon niet iets bruikbaars, of waar ik wat van snap vinden!

Groetjes:thumb:
 
Ik denk dat ik wel een oplossing heb. Kun je een voorbeeldbestandje plaatsen zonder belangrijke info?
Uitgangspunt is dat knopcodes verwijzen naar de activesheet en geen bladnaam en voor de verwijzing zou je kunnen werken met een index. De bladnaam kan overgenomen kunnen worden uit een celwaarde.

gr wim
 
Bedankt alvast:)
Aangepast, maar wel representatief:

(je kunt "soep" als bladnaam gebruiken)
 

Bijlagen

Laatst bewerkt:
Zet in C14:
=SOM(C10:C11;D30)*(C13+1)
 
eenvoudiger en minder rekencapaciteit nodig
 
Bram waarom ben je een nieuwe vraag gestart?

En ik weet niet of dit anders werkt in 2007, maar je kunt toch een heel tabblad kopieeren met "blad verplaatsen of kopieren, kopie maken aanklikken" door met de rechtermuisknop op het de tab te klikken. Hiermee worden alle buttons overgenoemen en deze blijven werken als je in de vba de sheetnaam aanpast naar active sheet.

gr wim
 
Bram waarom ben je een nieuwe vraag gestart?

En ik weet niet of dit anders werkt in 2007, maar je kunt toch een heel tabblad kopieeren met "blad verplaatsen of kopieren, kopie maken aanklikken" door met de rechtermuisknop op het de tab te klikken. Hiermee worden alle buttons overgenoemen en deze blijven werken als je in de vba de sheetnaam aanpast naar active sheet.

gr wim

Wim,
Mijn andere vraag gaat inderdaad over die methode, maar mijn bezwaar hiertegen is:
- Het tabblad komt helemaal achteraan
- Je kunt de tabnaam niet aanpassen
- Er komt geen automatische koppeling (hyperlink) naar het nieuwe tabblad

Ik weet niet of dat met een handmatige VBA wel kan, maar het is te proberen.

Groeten!
 
Antwoord 1 bladnaam uit cel
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("B3").Value <> "" Then
    ActiveSheet.Name = Range("B3").Value
End If
    
End Sub
 
Antwoord 2 indexpagina met hyperlink
PHP:
Sub index()
X = 0
Sheets.Add
ActiveSheet.Name = "Index Sheet"
ShtCount = ActiveWorkbook.Sheets.Count
For Each ws In Worksheets
If ws.Name <> "Index Sheet" Then
Worksheets("Index Sheet").Range("A2").Offset(X, 0) = ws.Name
Worksheets("Index Sheet").Range("A2").Offset(X, 0).Select
Worksheets("Index Sheet").Range("A2").Offset(X, 0).Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
ws.Name & "!A1", TextToDisplay:=ws.Name
X = X + 1
End If
Next ws
End Sub

en je mag zelf zoeken naar een manier om de tabbladen te alfabetisch te sorteren:p
Is te vinden in helpmij
 
Okee heel erg bedankt joh! Ik kom alleen niet uit antwoord 1, is dit een macro? Kun je me die iets verduidelijken?

Oh en nog een klein stukje bij antwoord 2: Dat hij ook automatisch de auto index sheet verwijderd, of de cellen in de huidige indexsheet aanvuld.

:thumb:
 
Laatst bewerkt:
Open VBE (ALT+F11) selecteer in de bladnaam en paalts de macro rechts
pas de celverwijzing aan

suc6
 

Bijlagen

  • sheetname.JPG
    sheetname.JPG
    54,2 KB · Weergaven: 80
PHP:
Sheets("Index Sheet").Delete
toevoegen aan macro 1 op 1e regel (na regel met sub)
 
Het begint me nu even te duizelen, morgen werk ik verder:p

In iedergeval bedankt voor je input!:)
 
Na een goede nachtrust is het me binnen 10 minuten gelukt:p Nu komt echter de volgende vraag bij me naar boven betreffende het aanpassen van de bladnaam:
- Ik heb 1 blad wat dient als een soort invulformulier, de naam van dit blad moet niet gelinkt zijn aan een cel. Als ik dan de macro opneem voor het kopiëren van dit blad moet hier dan in meegenomen worden dat hij de bladnaam van het nieuwe blad linkt aan een cel in dat blad.
Mischien wat duidelijker:
- Blad 1 is een invulformulier met de naam "invulformulier".
- Door middel van een macro maakt hij een kopie van dit formulier, een soort data base.
- De naam van dit nieuwe blad moet gelinkt zijn aan cel. Maar de naam van het blad invulformulier mag niet veranderen, en als ik het invulformulier opnieuw invul mag de naam van dat zojuist gekopiërde blad ook niet veranderen.

Deze code heb ik maar het gedeelte van die bladnaam werkt niet:



Sub troepdata()
'
' troepdata Macro
'

'
Sheets("troep").Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(714, 275.25, 153.75, 36.75).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(714, 275.25, 153.75, 36.75).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(269.25, 360, 138.75, 0).Select
ActiveSheet.Buttons.Add(714, 275.25, 153.75, 36.75).Select
Sheets("troep").Copy After:=Sheets(53)

Worksheet_change (ByVal Target As Range)
If Range("B3").Value <> "" Then
ActiveSheet.Name = Range("B3").Value
End If
End Sub
 
- De naam van dit nieuwe blad moet gelinkt zijn aan cel. Maar de naam van het blad invulformulier mag niet veranderen, en als ik het invulformulier opnieuw invul mag de naam van dat zojuist gekopiërde blad ook niet veranderen.

Iemand een oplossing voor dit probleem?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan