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

foutmelding bij opslaan bestand met macro's

Status
Niet open voor verdere reacties.
Waarom niet 1 blad waar alles op staat. En dan bv een invul formulier 1 rij per week en dan zoveel rijen afhankelijk van hoe het ze op voorhand het verlof mogen ingeven.
Of anders een invulblad en een ander blad waar ze een overzicht krijgen of er 'og verlof mogelijk te nemen valt. Bij het overzicht juist het zelfde als bij het invul formulier.
En ik dacht dat je meerdere personen toegang kan geven tot het bestand. Maar dan heb je wel het risico dat een persoon bv op rij2 aan het invullen Is en de andere ook
 
1 blad kan niet omdat de garantie in de weken verschilt. Verder mag je ook inschrijven als de garantie al vergeven is. Het is dan niet gegarandeerd maar als er weinig zieken zijn heb je een kans dat je toch verlof krijgt.
Er zijn groepen bij de 180 man bevatten. Zou je dit allemaal op 1 blad moeten zetten naar inschrijfdag/tijd dan krijg je heeeeel veel regels en is het terugzoeken heel onoverzichtelijk. Vandaar dat gekozen is per week een blad aan te maken.

Meerdere mensen hebben toegang tot het bestand. De 1ste die het bestand opent kan het bewerken, de anderen mogen alleen lezen.
 
Persoonlijk zou ik zo iets in Acces gemaakt hebben.
Dan kon je een tabel gemaakt hebben waarin gegevens staan boven de rij
Nu moet jij elkaar de 52 of 53 werklanden aanpassen met de datum en uw specifieke code boven de rijen.
Of heb ik dat mis? Zo grondig heb ik het ook niet bekeken.
Maar zou wel afstappen van op ieder werkblad die knop die dan een formulier opende met extra knoppen.
Ik zou deze verhuisden naar een eigen menu in het lint maar dat maken is voor iemand die dit nog nooit gedaan heeft niet simpel.
Weet van mees spreken


.
 
Of anders zou ik het zo doen:
Ik vermoed dat de personen die het gebruiken moeten weten in welke week ze verlof willen nemen (dus het weeknr moeten kennen)
Of heb ik het mis dat je nu 1 x per jaar die gvl waarde op de 53 pagina's moet aanpassen
Ik zou 2 verborgen bladen maken:
1 verzamelblad waar alles instaat zoals je nu per week invult + week nr
2 een blad waar per week op staat alles van gvl op staat. of indien dit mogelijk is via vb.
Ik weet natuurlijk niet wat die gvl betekend.
Zichtbaar blad
3. Zoals ik het zie moet de gebruiker weten in welk weeknr hij verlof wilt niet?
3.1 Op het zichtbaar blad zou ik alle gegevens ophalen uit het data blad voor die week.
3.2 En na het invullen van dit blad zou ik in het menu een knop zetten bewaren in het lint en stel bv voor week 10 komt er uit het datablad dat er bv 2 personen verlof gekregen of aangevraagd.
En ik ga ervan uit de de persoon die dan verlof aanvraagt het altijd op de eerste lege rij doet. En die zou ik dan als laatste rij wegschrijven op het verlof datablad en dan daarna dit blad sorteren op weeknr.
3 ik zou een ik zou dit formulier met die knoppen verschuiven naar een eigen menu in het lint. Wat wel niet zo simpel is.
4 Zou de vba code grondig herbekijken.

Ik werk in een heel grote firma met veel vestigingen en nog andere zaken.
Bij ons zit alles in sap dus database
En wij hebben een heel simpel systeem voor verloof aan te vragen namelijk zo:
wij zien de kalender van de huidige maand en de volgende maand op het scherm maar kunnen zo ver naar voor gaan in de maanden als er zijn vrijgegeven. kunnen ook maanden terug keren.
We selecteren de dag waarop we een bepaalde code aanvragen en dan drukken we op een kop waar we effectief invullen welke code we willen. En dan krijgen we nog eens een overzicht en naar welke persoon het verstuurd word dit het verlof moet goed keuren per team.

En zelf als we de maanden zien dan zie we of de code is goed gekeurd of is aangevraagd en zetten we de muis op die dag dan zien we welke code het is. Maar kunnen dit ook in lijstvorm tekst vorm zien.

Maar persoonlijk vind ik excel daaar voor niet echt geschikt.
Maar ja heb zelf ook zo een verlofkalender gemaakt in excel met massa vba achter.
Voort gebouwd op iets wat een collega had gemaakt. Maar ieder jaar dit totaal van 0 moest opbouwen.
 
Zelf zou ik niet direct een oplossing weten voor het probleem van @GerV
Vraag me wel af wat hij moet met de laatste twee reacties.:confused:
 
concrete vraag:

als iemand het spreadsheet als alleen lezen heeft geopend en hij doet toch opslaan zijn dan alle macro's weg/niet meer beschikbaar?

GerV
 
Als iemand een bestand als 'alleen-lezen' heeft geopend kan hij/zij hem alleen onder een andere naam opslaan.
Dat heeft dus geen enkel effekt voor het oorspronkelijke bestand.
De gebruiker kan alleen in de illusie verkeren dat zijn/haar gegevens zijn opgeslagen in het oorspronkelijke bestand.
Een eventueel 'probleem' bevindt zich dan in een stoel en niet in een computer.
 
Laatst bewerkt:
snb: bedankt.

Wat kan dan de oorzaak zijn dat ineens de macro's weg zijn?

GerV
 
Dat iemand met schrijfrechten het bestand als xlsx heeft opgeslagen.
Maar dan moet de oudere versie (xlsm of xlsb) nog ergens rondzwerven.
Als in verschillende soorten modules macro's staan kan het een aardige klus zijn die te verwijderen; dat doe je niet 'per ongeluk'.
 
begin het gevoel te krijgen, dat de topic starter niet wil geholpen worden
 
glda19. Ik wil geholpen worden met het probleem dat ik bij het openen van deze call beschreef. Op dit moment is een nieuwbouw van het bestand niet aan de orde omdat men volop bezig is met het verlof voor 2023 in te schrijven.
Dit bestand wordt al jaren op 18 plekken gebruikt voor in totaal 1500 mensen. Tot voor kort zonder problemen. In de laatste 2 maanden echter is het 4x voorgekomen dat het bestand beschadigd is en niet meer gebruikt kan worden.
Ik wil de oorzaak hiervan proberen te vinden met jullie hulp om dit in de toekomst te voorkomen.

GerV
 
2 zaken

In Userform1 tref ik deze macro aan:

Code:
Private Sub UserForm()
    UserForm1.Show
End Sub
Een van de belangrijkste VBA regels is namen van objecten, variabelen, procedures niet te laten interfereren met namen van elementen die de VBA-compiler gebruikt. Daarom geef ik een macro altijd een naam die begint met 'M_'. De VBA-compiler kent nl. geen elementen met een underscore. Functienamen beginnen bij mij altijd met 'F_'.
Waarvoor je deze macro in de macromodule van het Userform zelf gebruikt is mij onduidelijk.

In Userform1 en Userform 2 tref ik macro's aan met deze structuur:

Code:
Private Sub CommandButton10_Click()
    Unload Me
    Call accenten_hele_week_doorvoeren
End Sub

Ik heb van VBA begrepen, dat, als eenmaal het Userform uit het geheugen is verwijderd met 'Unload', de opdracht die volgt niet meer uitgevoerd kan worden. De juiste structuur zou dan moeten zijn:
Code:
Private Sub CommandButton10_Click()
    accenten_hele_week_doorvoeren
    Unload Me
End Sub

Daarnaast:
- voor het aanroepen van een procedure is de term 'call' al ruim 20 jaar overbodig.
- de procedures die door de knoppen van het Userform worden aangeroepen kunnen beter ook in de macromodule van het Userform zelf gezet worden.

Vervolgens:
in de VBEditor bij opties/referenties:
- tref ik een 'missing' referentie aan: dat kan altijd tot onverwachte problemen leiden
- tref ik een referentie aan naar een 'Calendat' die verder in de code niet gebruikt wordt; dan maar liever verwijderen.
 
Laatst bewerkt:
snb: ik ga deze aanpassingen doorvoeren in alle 18 spreadsheets.

Mochten jullie nog iets tegenkomen dan hoor ik het graag.

Allemaal bedankt voor het meedenken tot nu toe.

GerV
 
Wat kom ik tegen:

In het bestand dat je plaatste:

- 111 'shapes': 112 teveel
- 3727 formatconditions: 3710 teveel
- 130.343.154 cellen met validatie: 2000 is voldoende
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan