• 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 aanpassen voor ieder willekeurig blad.

Status
Niet open voor verdere reacties.

fwalraven

Gebruiker
Lid geworden
30 apr 2006
Berichten
150
Bladen worden opgeslagen onder een naam bestaande uit combinatie datum en weeknummer

Opgeslagen bladen dienen circa per 14 dagen 2 keer te worden aangevuld.

Ik heb alleen een macro die 1 bepaalde map selecteert en terug zet naar het blad sjabloon om het te kunnen bewerken.

Is het mogelijk dat dit bij klikken/selecteren van ieder willekeurig blad dit automatisch gebeurd?
Zie bij gevoegd voorbeeld.

Frans
 

Bijlagen

  • Kopieren blad.xlsm
    33,4 KB · Weergaven: 59
Wat wil je met deze vraag leren ?
 
Wat wil je precies? Want je macro is bepaald onlogisch; ik kan er weinig chocola van maken. Neem nou die lus die je draait (For i = 1 To Worksheets.Count): die loopt door alle werkbladen heen, en zet daar waar noodzakelijk de variabele Exists op Waar. Dat doet-ie bij de eerste waar de vergelijking True is, en dan houdt-ie de waarde totdat de lus klaar is. Als je 20 bladen hebt, waarvan de derde True is, dan blijft exists dus voor de rest van de lus op True staan. Je zou de lus dan kunnen stoppen, want blijkbaar is dat het enige dat je op dat moment wilt weten. Daarnaast selecteer je je het rambam, wat nergens voor nodig is.

Als je de naam van de sheets wilt aanpassen, kun je dat toch ook net zo goed in die lus doen? je gebruikt dan in essentie dezelfde lus, dus je bent dan in één keer klaar.
 
Dat ik een macro kan maken die, bij klikken/selecteren van een blad, van toepassing is voor alle bladen
Deze macro2 is nu alleen van toepassing op blad 09-11-2021-46

Wil ik een ander blad terug zetten, bv 10-12-2021-50, dan moet ik de naam van "Sheets("09-11-2021-46").Select" in de macro veranderen.
Code van macro 2 is:

Code:
'
' Macro2
'

  Application.DisplayAlerts = False
    Sheets("09-11-2021-46").Select
    Range("A1:K15").Select
    Selection.Copy
    Sheets("sjabloon").Select
    Range("A1").Select
    ActiveSheet.Paste
    Range("A1").Select
   
    Application.CutCopyMode = False
    Sheets("09-11-2021-46").Select
    ActiveWindow.SelectedSheets.Delete
    
    Sheets("sjabloon").Select
    Range("A1").Select
    Application.DisplayAlerts = True
End Sub
 
Wat hadden we nou gezegd over het gebruik van SELECT? :d
 
De lus "(For i = 1 To Worksheets.Count)" is bedoeld om het blad met de jongste datum vooraan te zetten.
Omdat dit blad als een van de eerste weer bijgewerkt dient te worden.
Indien niet correct dan verwijder ik het wel. Is voor mij momenteel minder belangrijk.

Ik wil de naam van een blad niet veranderen, alleen bij een blad selecteren gegevens kunnen toevoegen.
Daarvoor staan op het blad sjabloon nog opdrachtknoppen die daarvoor gebruikt moeten worden.
Na bewaren wordt het blad weer onder dezelfde naam bewaard.

Alleen bij verandering van de datum in blad sjabloon en bij bewaren wordt dat blad, onder die datum en weeknummer, als een nieuw blad bewaard.
Maar dan zijn er ook andere gegevens ingevoerd.

Bij het opnemen van de macro werd "select" gewoon geplaatst.
Wat er verder over gezegd is? Zegt me zo eventjes niets.
Frans
 
Wat je daar wil mee bereiken versta ik in de verste verte niet toch heb ik een poging gedaan.

p.s. stel al uw gegevens op 1 blad en vul/verander ze in een userform.
 

Bijlagen

  • Kopieren blad en na bewerken terugplaatsen.xlsm
    145 KB · Weergaven: 32
@Emields,

Dit is zeker een mooie oplossing. :thumb:

Ik ga het uitproberen in mijn originele bestand.

Zelf was ik al bij de onderstaande macro2 uitgekomen, hierbij hoefde al niet meer de naam van het blad te worden veranderd.
Was alleen nog zoekende dat bij klikken/openen op het gekozen blad, macro2 werd geactiveerd.
Ik zie nu ook wel in dat door macro2 op het blad sjabloon te plaatsen, dit verwarrend was.
Ik had hem erbij gezet om aan te geven wat er moest gebeuren.

Frans

Code:
Sub Macro2()
 Application.DisplayAlerts = False
  Dim ws As Worksheet
Set ws = ThisWorkbook.ActiveSheet
   ''Sheets("09-11-2021-46").Select
    Range("A1:K15").Select
    Selection.Copy
    Sheets("sjabloon").Select
     Range("A1").Select
    ActiveSheet.Paste
    Range("A1").Select
    Application.CutCopyMode = False
    ws.Select
   '' Sheets("09-11-2021-46").Select
    ActiveWindow.SelectedSheets.Delete
    Sheets("sjabloon").Select
    Range("A1").Select
    Application.DisplayAlerts = True
End Sub
 
Wat wil je nu eigenlijk bereiken? Waarom een datum in combinatie met een weeknummer gebruiken? Het weeknummer is een afgeleide van de datum dus overbodig. Om te controleren of een tabnaam bestaat heb je helemaal geen lusje nodig.
 
Sorry voor een late reactie.
Er kwam even iets anders tussendoor.

@ Vena bestanden worden altijd zo altijd al bewaard, dus waarom nu niet.
Er komen ook nog 2 andere afkortingen ervoor te staan.

@Emields, bedankt voor je voorbeeld.
Die doet waar ik om vroeg.
Maar daar zitten toch nog wat haken en ogen aan.
Bv: verwijdert men een blad dan is het blad sjabloon ook weg.
Althans het krijgt de naam van het blad dat rechts naast het blad sjabloon staat.

Ik heb een voor mij acceptable oplossing gevonden,
door de opdrachtknop voor het terug plaatsen van een blad naar het blad sjabloon,
in de snelle toegang te zetten.

Werkt prima met 1 klik extra is het nu ook terug gezet in het blad sjabloon.
En men kan nu met het gekozen blad doen wat ze willen.
Wordt het verwijderd, dan kan middels het blad sjabloon weer opnieuw samengesteld worden.
Het gekozen blad zelf invullen laat men wel, want dan moet men handmatig gegevens uit een csv bestand filteren.

Frans
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan