• 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.
Sub troepdata()
with sheets.add
.name=Range("B3")
for j=1 to 30
.Buttons.Add(269.25, 360, 138.75, 0)​
next
for j=1 to 4
.Buttons.Add(714, 275.25, 153.75, 36.75)​
next​
End with​
End Sub​
 
Laatst bewerkt:
Bedankt, maar hij werkt helaas niet.. Mischien wat uitleg voor hoe in te voegen?
:thumb:
 
Iemand nog een oplossing voor mijn probleem? Dus dat een nieuw gekopieerd tabblad de naam krijgt van een cel, maar het tabblad waarvan de kopie is gemaakt zijn naam behoud?


Behorend bij de volgende (voorbeeld) code:
Sub Kopiemaken()
'
' Kopiemaken Macro
'

'
Range("C10").Select
Sheets("Invulformulier").Select
Sheets("Invulformulier").Copy Before:=Sheets(2)

End Sub


Groeten
 
Laatst bewerkt:
Bram,

Je bent lekker bezig.
Je krijgt de hulp die je nodig hebt en vervolgens brand je iedereen af.

Waarom blijf je steeds de vraag stellen: "Iemand nog een oplossing voor mijn probleem?"

Dat staat niet zo heel erg netjes en daarmee zorg je ervoor dat uiteindelijk niemand meer jou wil helpen!

Pas op met wat je schrijft, blijf ten alle tijden netjes.

Jij hebt hulp nodig aanvaard die dan ook en bedenk goed dat de juiste formulering van een vraag de basis is voor een goede oplossing.

Grtz.
 
Superzeeuw,

Ik heb niemand afgebrand en blij met elk voorstel. Bijvoorbeeld dat van SNB, heel erg fijn dat hij me probeert te helpen, maar als ik zijn voorstel niet voor elkaar krijg dan kan ik toch gewoon zeggen dat dat bij mij niet werkt?

Het feit dat ik vraag of iemand een oplossing heeft is meer om mijn vraag weer onder de aandacht te krijgen, want ik kan niet voorstellen dat iemand op de 2e pagina naar onopgeloste vragen te kijken. Daarnaast is het eigenlijk nogal een dringende vraag.

Hoe kom je bij het idee dat ik hulp niet aanvaard? Anders zat ik tenslotte niet op het "HELPmij" forum:)

Ik snap je insteek maar nogmaals ik heb niemand afgebrand en ben erg dankbaar voor de hulp die ik krijg want ik heb er al veel aan gehad. In ruil daarvoor probeer ik ook andere gebruikers te helpen, al dan niet met wat simpele maar praktische problemen.

Groeten
 
Bram,

Bedank voor je uitleg en dat maakt eea duidelijk.
Het is niet nodig je vraag steeds onder de aandacht te brengen.
Dat gebeurd vanzelf iedere keer dat iemand reageert op jouw vraag komt je vraag bovenaan in de lijst te staan van het excel gedeelte.
Mensen die geïnteresseerd zijn of wellicht een oplossing hebben melden zich vanzelf aan.

Die code van SNB moet toch behoorlijk licht in de duisternis brengen lijkt mij.
Ik zie regelmatig oplossingen van SNB voorbij komen die zeer kort zijn en goed werken.

Dus jouw reactie van "Bedankt, maar hij werkt helaas niet.." is wat kort.
Probeer eens meer uitleg te geven over wat er niet werkt of wat er wel werkt daar kunnen we verder mee.

Suc6

Grtz.
 
Bram,

Ik heb het hele verhaal doorgelezen en daaruit maak ik het volgende op:
Kopieer een tabblad en geef deze een nieuwe naam met behoud van de knop "Hoofdmenu"
Zet op het tabblad "Hoofdmenu" een nieuwe knop neer die linkt naar de nieuw aangemaakte sheet.

Wat ik heb gemaakt is het volgende:
- Onder water zit een Sheet die Template heet, je basis invul formulier.
- Wanneer je op het tabblad "Hoofdmenu" op de knop "NIEUWE SHEET" klikt gebeurd het volgende
- Er komt een pop-up box met de vraag hoe de nieuwe sheet moet gaan heten.
- Onder water wordt een nieuwe module aangemaakt met de naam van de nieuwe sheet
- Op het tabblad "Hoofdmenu komt een nieuwe knop met als tekst de ingegeven nieuwe naam
- Deze nieuwe knop wordt gelinkt met de nieuw module die verwijst naar de nieuw aangemaakt sheet
- De Template sheet wordt gekopieerd en deze wordt ook direct getoond en de tekst in B6 krijgt de naam van de nieuwe sheet

Ik hoop dat dit is wat jij bedoelt.
Zo niet dan komen er wel vragen en die lossen we dan wel weer op.

LET OP! Het bestand is gemaakt in excel 2007

Suc6 ermee

Grtz
 

Bijlagen

Bram,

Mensen die geïnteresseerd zijn of wellicht een oplossing hebben melden zich vanzelf aan.

Die code van SNB moet toch behoorlijk licht in de duisternis brengen lijkt mij.
Ik zie regelmatig oplossingen van SNB voorbij komen die zeer kort zijn en goed werken.

Dus jouw reactie van "Bedankt, maar hij werkt helaas niet.." is wat kort.

Superzeeuw,
Oke dat snap ik en ik zou er rekening mee gaan houden, bedankt voor je commentaar!
Je hebt helemaal gelijk. Digitale communicatie is niet mijn sterkste punt, daarom kom ik weleens wat bot over helaas. Het zit namelijk zo, ik ben in VBA nog maar een groentje dus ik heb wat uitleg nodig bij een code. UIteraard waardeer ik zijn hulp wel heel erg, en ik geloof ik direct dat hij geen fout maakt in de code maar dat ik het niet op de goede manier kon implementeren.

Nu weer ontopic:

Je hebt helemaal goed begrepen wat mijn bedoeling is, en wat je gemaakt hebt ziet er super uit! :thumb:
Maar zoals je vast wel had begrepen is het nogal complex dus ik zal inderdaad nog wel tegen een paar probleempjes aan lopen. Wat ik tot nu toe tegengekomen ben:
  • - Wanneer ik klik op nieuwe sheet, trapt hij er niet in als ik wil annuleren, dan geeft hij een fout en gaat naar VBA. Nu heb ik zelf geprobeerd het op te lossen met de volgende code(in de module copy sheet):
  • If Naam = InputBox("Geef NAAM nieuwe tabblad in: ", vbYesNo) Then
  • Exit Sub
  • Else
  • Resume Next
  • End If
  • Als ik op annuleren druk sluit hij wel netjes de macro, maar als ik een naam invul dan gaat het weer mis.

- Bij dezelfde code staat dit: MacroFile = "C:\Superzeeuw.dat"
Waar is dat voor?

Dat was het voor nu denk ik! En nogmaals, ziet er super uit!:)

Groetjes


Edit:
Bij de message box voor nieuwe sheet:
aangezien er in een tabblad naam geen tekens (/) mogen staan moet hier eigenlijk ook weer wat voor komen dat hij die melding geeft. Hier kan ik echter zelf echt niks voor bedenken:p
 
Laatst bewerkt:
Bram,

Over het progje, het klopt helemaal wat je zegt.
In de macro heb ik geen annuleer mogelijkheid opgenomen.
Je hebt het zelf opgelost dus dat zit goed.

De regel "Macrofile = "C:\Superzeeuw.dat" wordt gebruikt om een module buiten excel aan te maken en later weer aan te roepen en in te lezen.
De tekst Macrofile komt meerdere malen voor in je macro zodat je deze regel maar 1x hoeft aan te passen en dan wordt dat door de module heen meegenomen.

Het kan zijn dat je macro nog niet werkt en dat komt door een stukje uitleg dat ik vergeten ben mee te geven.

Doe in Excel 2007 het volgende:
Klik op de "Office-knop"
Ga naar "Opties voor Excel"
Selecteer het Vertrouwenscentrum
Ga naar "Instellingen voor het vertrouwenscentrum"
Selecteer "Instellingen voor macro's"
En plaats een vink bij "Toegang tot het object model van het VBA-project vertrouwen"

Nu moet de macro gewoon zijn werk kunnen doen.

Die validatie op de inputbox, daar kom ik nog op terug, moet ik zelf ook even mijn licht over laten schijnen.

Grtz.
 
Laatst bewerkt:
Bram,

Ik heb een oplossing voor je probleem van vreemde tekens \ / ? * [ ]:p
Dit is in de code verwerkt
Ik heb het stukje code aangepast zodat de macro stopt wanneer men annuleert.

Omdat Het hoofdmenu er iets anders uitzag dan het tabblad "Mengen" heb ik deze ook maar even in een nieuw jasje gestoken.:D
Ik wilde wel eens weten wat 2007 allemaal in huis heeft.

Kijk er eens naar en ik hoor het wel wat je ervan vindt.

Grtz
 

Bijlagen

Superzeeuw,

Ziet er erg goed uit en je code werkt goed! Ik heb nog een paar vraagjes:
- Die code van macrofile snap ik niet helemaal. Is je bedoeling dat hij een nieuw tabblad extern opslaat? Dit is niet nodig omdat er dan niet snel in gewerkt kan worden.
- Dat stukje van die tekens, kan dat niet met een code die alle tekens omvat? Ik heb zelf niks kunnen vinden, maar mischien iemand anders wel?
- Het tabblad mengen gebruik ik uiteraard niet echt in mijn programma maar is een voobeeld. De opmaak die je er aan hebt gegeven is een erg leuke insteek. Het moet echter niet te druk worden en iets strakker, hier ga ik zelf ook even mee aan de slag! Je brengt me wel op leuke ideeen zo:)
- Wat is de functie van de sheet "info"? In iedergeval voor het nummeren van de modules en plek van de nieuwe knopjes voor nieuwe tabbladen.

Ik ga er nog even mee aan de slag! Erg bedankt voor je leuke ideeën en goed werkende code!:thumb:

Grts Bram
 
Bram,

Antwoorden op jouw vragen zie hieronder:

Ziet er erg goed uit en je code werkt goed! Ik heb nog een paar vraagjes:
- Die code van macrofile snap ik niet helemaal. Is je bedoeling dat hij een nieuw tabblad extern opslaat? Dit is niet nodig omdat er dan niet snel in gewerkt kan worden.
- Dat stukje van die tekens, kan dat niet met een code die alle tekens omvat? Ik heb zelf niks kunnen vinden, maar mischien iemand anders wel?
- Het tabblad mengen gebruik ik uiteraard niet echt in mijn programma maar is een voobeeld. De opmaak die je er aan hebt gegeven is een erg leuke insteek. Het moet echter niet te druk worden en iets strakker, hier ga ik zelf ook even mee aan de slag! Je brengt me wel op leuke ideeen zo
- Wat is de functie van de sheet "info"? In iedergeval voor het nummeren van de modules en plek van de nieuwe knopjes voor nieuwe tabbladen.

- Macrofile doet niets meer en niet minder dan extern een tijdelijk bestand wegschrijven dat verderop in de code wordt ingelezen als een nieuwe module, daarna wordt dit bestand weer verwijderd, zie het Kill commando.
- Die tekens zou wellicht op een andere manier kunnen.
- Het tabblad mengen is ook zoals gezegd een probeersel om te zien wat excel 2007 kan, maak er iets moois van zoals je het zelf hebben wilt.
- Op de sheet info houd ik bij hoeveel knoppen er zijn cel B1 en welke nieuwe module ik moet aanmaken cel B2.

Aanvullende informatie vindt je terug in het nieuwe bijgevoegde bestand en dat betreft het gedeelte van Naam en ModuleNaam.
Pas dit toe want geef je een naam in met een spatie dan gaat het mis op module niveau.

Grtz.
 

Bijlagen

Wederom bedankt Superzeeuw!

Opzich loopt het nu wel aardig goed en kom ik er wel uit. Het enige echte probleem is nu nog dat wanneer je een nieuwe sheet maakt, en je een naam invoerd die al bestaat dat hij dan de macro niet stopt. Weet je hier nog iets voor?

Groeten!
 
Bijkomend probleempje:
Als ik het tabblad hoofdmenu beveilig dan kan de macro niet meer worden uitgevoerd worden. Hij loopt vast op het gedeelte:
"Activesheet.Paste"
Een idee hoe dit te omzeilen is?

Groetjes!
 
Bram,

Bijgevoegd bestand is aangepast met jouw verzoeken.
Een dubbele sheet-naam wordt vroegtijdig opgespoord en de macro stopt.
Het vastlopen van de macro wanneer de sheet hoofdmenu is beveiligd is opgelost.

Het volgende toegevoegd:
De macro is beveiligd dus daar moet je nu in met een ww in en dat is BramB2 (hoofdletter gevoelig)
In de macro CopySheet zit een regel die begint met UnlockCode, wat daarachter staat kun je aanpassen naar een ww die jezelf makkelijk vindt, deze unlocked en locked de sheet.

Nog even een eye-opener!
Office is zo lek als een mandje en geen enkel ww, op welk niveau dan ook, is veilig.
Elk office bestand is te "kraken", voor de gemiddelde gebruiker is dit afdoende maar een gevorderde gebruiker kan er gewoon bij.

Grtz.
 
Laatst bewerkt:
@Superzeeuw, al eens geprobeerd een bestand te kraken dat beveiligd is met een Hash Algorithm. Daar is zelfs een gevorderd gebruiker even zoet mee:p

Mvg

Rudi
 
Rudi,

Je maakt me weer nieuwsgierig.
Ik ben altijd in voor verbeteringen en als jij een office document goed weet te beveiligen ben ik je man want tot nu toe ben ik niet verder gekomen dan 30 seconden om een office bestand te kraken en dan is de meeste tijd gaan zitten in het opzoeken en starten van de "kraak" tool, lang leve office.

Ik hoor graag van je.

Grtz.
 
In bijlage simpel voorbeeldje. Sluit het wachtwoorformulier om toegang te krijgen tot bestand en code

Mvg

Rudi
 

Bijlagen

Superzeeuw,
Weer heel erg bedankt!:thumb:
Over die beveiliging had ik alleen wat meer uitleg moeten geven. Dan nu alsnog maar, sorry voor het werk wat je hebt gedaan wat mischien niet nodig was.

Ik wil het bestand zo opbouwen:
- Wanneer het bestand word geopend moet een gebruikersnaam en wachtwoord in worden gegeven.
- Het in dit geval tabblad mengen hoeft niet speciaal worden beveiligd, maar wel zo dat alleen de gele cellen aangepast kunnen worden. Dit doe ik ook voor het hoofdmenu, alleen hier hoeft alleen op de knoppen gedrukt kunnen worden. Dit kan gewoon met de beveiliging van excel. Alleen de macro geeft dan problemen.

Het eerste gedeelte is denk ik wel te vinden in dit forum. Het tweede lukt me wel, tot het gedeelte van de macro, zou je me hier nog even mee kunnen helpen?

Tot zover weer heel erg bedankt!
Groeten

Edit:
Ik ben bezig geweest om het in het echte systeem te zetten, maar nu is er naar voren gekomen dat bij een ander onderdeel(waar ik de code ook voor gebruik) het handiger zou zijn als er een hyperlink ingevoerd word ipv een knop. Is dit eventueel mogelijk of moet je dan de hele code weer omgooien?
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan