niet werkende macro's

Status
Niet open voor verdere reacties.

jacveldwijk

Gebruiker
Lid geworden
26 sep 2006
Berichten
14
heb een vraagje over het gebruik van usb-stick. ik heb een programma met macro's gekopieerd naar de usb-stick. bij de ene computer kan ik het programma gewoon gebruiken en bij de andere computer of laptop geeft de vba-editor dat er een compileerfout is. De beveiliging staat op laag. Waar blijft hij op steken?
 
Dat kan een hoop zijn ben ik bang voor.
Ik maak zelf thuis macro's in xp/excel2003 en probeer ze dan op mijn werk draaiende te krijgen op server 2003
De excel versie is ook van belang. In 2003 kun je een beveiligd blad sorteren, in 2000 krijg je dan een foutmelding.
Compileer fouten zie je wel eens door de benoeming.
zo werkt sheets(naam).activate vaak wel, maar soms werkt alleen worksheets(naam).activate.
Gebruik altijd de langste versies.
Ook instellingen als option explicit kunnnen foutmeldingen geven, wanneer je variabelen niet goed declareert.
Helaas geen eenduidig antwoordt. Veel uitzoek werk
Ikzelf probeer dit probleem op te lossen door op het lastigste systeem(mn werk) de boel te testen
Maar ik werk dan ook in de psychiatrie:)
mvg leo
 
oei, wat een teleurstellend antwoord, dat betekent dat ik alle variabelen enz, nog eens na moet lopen, daar moet ik nog even mee bezig.
sorry dat ik zo laat reageer, maar ik ga het nu uitwerken
 
Als je de code uitvoert en je krijgt een foutmelding, dan zet VBA de foute regel in een geel kleurtje.
 
Ook instellingen als option explicit kunnnen foutmeldingen geven, wanneer je variabelen niet goed declareert.

Option Explicit is juist nodig om ervoor te zorgen dat de variabelen goed gedeclareerd worden.
 
Als je de code uitvoert en je krijgt een foutmelding, dan zet VBA de foute regel in een geel kleurtje.

ja dat klopt, maar dan blijft hij bij elke variant steken, dus dan moet ik ze allemaal langs, het vreemde daarbij is, dat de macro's het op de ene laptop wel doen en bij de andere niet, dus als ik alles langs moet, dan voor de helft van de laptops (bij wijze van spreken). Waarom doet hij het wel bij de ene (excel 2003) en bij de andere niet? Ook 2003
 
Is Excel op beide laptops wel hetzelfde geïnstalleerd?
Bijv. dezelfde add-inns geaktiveerd.
Macrobeveiling op beide hetzelfde.


Zijn de laptops hetzelfde ingericht?
Bijv. landinstellingen, gebruikersrechten, etc.

Als je dat niet zeker weet, zul je denk ik toch alle machines langs moeten.
Je zou een on error in kunnen bouwen die je het foutmeldingsnummer met omschrijving in een messagebox toont, werkt misschien iets sneller om te analyseren als stap voor stap de code te doorlopen.
 
Is Excel op beide laptops wel hetzelfde geïnstalleerd?
Bijv. dezelfde add-inns geaktiveerd.
Macrobeveiling op beide hetzelfde.


Zijn de laptops hetzelfde ingericht?
Bijv. landinstellingen, gebruikersrechten, etc.

Als je dat niet zeker weet, zul je denk ik toch alle machines langs moeten.
Je zou een on error in kunnen bouwen die je het foutmeldingsnummer met omschrijving in een messagebox toont, werkt misschien iets sneller om te analyseren als stap voor stap de code te doorlopen.

de macrobeveiliging is het probleem geloof ik niet, wat zijn add-inns?
de laptops inrichting, tja ik probeer het lukraak bij iedereen, dus dat zal niet hetzelfde zijn bij elke laptop.
en is het voor jullie eenvoudig om een on error programmaatje door te geven? dat is sneller dan dat ik moet zoeken, als jullie het niet erg vinden.
groet,jac
 
eenvoudig om een on error programmaatje door te geven

Alls je een programmaatje bedoelt dat de fouten eruit haalt, dat ken ik helaas niet
Zelf gebruik ik mz-tools.
Dat maakt het programmeer leven wel een stuk eenvoudiger.
Het kan met een simpele klik een foutafhandeling aan je procedure toevoegen met een messagebox, zoals JvA omschrijft.
Nadeel is dat je niet precies ziet waar de fout zit, dat doet excel zelf al heel mooi, door de regel geel te kleuren (mits het geen besturingselement betreft).
Verder kun je met MZ-TOOLS de code na kijken via other utility's review -> source code, dat haal er ook het ea uit, maar niet alles.

Wat betreft de variabelen, die horen inderdaad expliciet gedeclareerd te worden. Mocht de fout daar zitten,
dan is het de moeite waard om dat alsnog te doen, dat maakt je code ook een stuk leesbaarder
en later beter te onderhouden (zelf door schade en schande wijs geworden:)) en beter uitwisselbaar dus.
Verder kan het probleem ook nog zitten in het benoemen van de klassen bij de objecten.
Zo zal left(string) vaak werken, maar soms niet.
strings.left(string) werkt echter altijd.
Ikzelf ben altijd "de lange" versie gaan gebruiken, dan kom je veel minder vaak uitwissel problematiek tegen.
Ook hier weer door trail en error achtergekomen, dus eerlijk gezegd weet ik niet waarom dit zo is, wel dat het zo is.
Verder zijn er, bij mijn weten 2 soorten add ins. Het zijn voorgeprogammeerde stukkken code
Je hebt de invoegtoepassingen, die aan excel extra functionaliteit geven (bv het analysis toolpack).
Deze kunnen aan en uitgezet worden, dat zou een probleem kunnnen veroorzaken wanneer ze uitt staan als ze wel gebruikt worden.
En je heb voor vba add-ins, bv userform calendar, die een makkelijk te gebruiken kalender aan je code toevoegt.
De laatste soort wordt gewoon meegenomen met je code wanneer je op een andere pc gaat werken.
Helaas allemaal een heel uitgezoek, maar wel de manier om je code helemaal uitwisselbaar te maken en, vond ikzelf, erg leerzaam.
mvg leo
 
Laatst bewerkt:
oke, dat is duidelijk. ik moet dus gewoon aan het werk. jammer maar als het leerzaam is kan het nooit erg zijn.
ik ga aan de slag en alvast bedankt voor de reacties.
ik laat van me horen
jac
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan