modules in library plaatsen

Status
Niet open voor verdere reacties.

maroalk

Nieuwe gebruiker
Lid geworden
19 mrt 2010
Berichten
3
hallo,

ik heb de volgende vraag ik haal data op uit weekraporten en plaats dit in een jaaroverzicht.
in elk weekrapport staat de zelfde vba code . Dit werkt inprincipe goed, als je een nieuwe week aanmaakt ( kopieert) heb je ook weer de goede vba code. het beheer is echter een ramp, als je een keer wat wijzigd moet je dat in alle exelsheets ( vba code ) doen.

de oplossing is om de procedures in een library oid te zetten en ze alleen maar aan te roepen
ik heb geprobeerd de code in een master werkblad te zetten en dit vervolgens in te voegen( menu extra- verwijzingen) dit geeft een foutboodschap.{ de opgegevennaam is strijdig met een bestaand project...} vervolgens een persoonlijke macro map gemaakt persnlk.xls ook dit werk niet. boodschap sub of functie onbekend

ik heb een vba boek waarinstaat dat je eenvoudig naar een procedure uit een ander exelsheet kan verwijzen met als aanroep [filenaam.xls].subnaam

te mooi om waar te zijn en dat is het ook niet.
Dit zou nog de best oplossing zijn, de code staat in het blad van week 1 en de rest verwijst er naar
ben ook met invoegtoepassingen in de weer geweeweest, :confused: .xla file gemaakt, gaat goed totdat ik de verwijzing wil maken

ik heb office 2003 en zowel xp als vista

een tip zou zeer welkom zijn

groet maro

3-4

weet iemand hoe het verwijzen werkt naar andere werkbladen ( xls files). in de visual basic editor onder extra - verwijzingen zou je dit moeten kunnen realiseren
 
Laatst bewerkt:
Hallo Maro,

Deze link is misschien een antwoord op je vraag.

Als dat niet het geval is heb ik in elk geval de vraag niet begrepen. Laat het dan weten. Succes!

Groet,
Hunac
 
Plaats hier de code die je in Persnlk.xls gezet hebt.
Dan maken wij het werkend voor willekeurig welk bestand.
Plaatsing in Persnlk.xls is zowel de eenvoudigste als meest voor de hand liggende oplossing.
 
Hallo Maro,

Deze link is misschien een antwoord op je vraag.

Als dat niet het geval is heb ik in elk geval de vraag niet begrepen. Laat het dan weten. Succes!

Groet,
Hunac

hallo hunac,

bedankt voorje respons,je tip is wel bruikbaar ,het enige nadeel is dat je altijd het bestand waar de code in staat moet openen, gaat wel automatisch maar toch.

alle suggesties die ik geprobeerd heb zouden moeten werken zonder het bestand met de code te openen.

nog voor de duidelijkheid ik gebruik de code in de afzonderlijke bladen niet om de data te verzamelen, dat gebeurd allemaal in de overzicht file.
in de afzondelijke bladen ( weken )staan wat macro's die de gebruiker helpen om de invoer te doen.

achter een knop zit bevoorbeeld de code :

'uitbetaling berekenen


Code:
Private Sub CommandButton1_Click()

cb_betaal_toeslag = cb_toeslag
cb_tijd_voor_tijd = cb_tvt

calc_hour

End Sub
hier worden de waarden van een paar check boxen in variabelen omgezet en staat de aanroep van module calc_hour. In een module staat dan de routine calc_hour. voor elk week overzicht is deze routine het zelfde dus het zou mooi zijn als je die maar een keer opgeslagen hebt.
met het menu extra- verwijzingen ( vba editor) zou dat moeten kunnen, ik weet alleen nog niet waar het fout gaat.

groet maro
 
Laatst bewerkt:
Plaats hier de code die je in Persnlk.xls gezet hebt.
Dan maken wij het werkend voor willekeurig welk bestand.
Plaatsing in Persnlk.xls is zowel de eenvoudigste als meest voor de hand liggende oplossing.

ik heb het even eenvoudiger gemaakt
ik heb een willekeurig werkblad met een knop, en de volgende code ( onderwerkblad 1)
Code:
Option Explicit

Private Sub CommandButton1_Click()
testlib
End Sub
in persnlk.xls heb ik een module staan met de code :
Code:
option Explicit

Public Sub testlib()
MsgBox ("dit komt uit de testlib")
End Sub

na druk op de knop verwacht ik de boodschap " dit komt uit de testlib" helaas krijg ik de foutboodschap: sub of function is niet gedefinieeerd

als ik dit werkend heb komt de rest ook wel

toch vraag ik me ook af of het wel de beste manier is om de code in persnlk op te slaan
het hoeft immers niet in elk werkblad beschikbaar te zijn
het mooie van verwijzen is dat je selectief naar externe code kan verwijzen
elke hulp is welkom op dit moment
laatste nieuws :
als ik een knop maak met de formulieren balk kan je elke macro die in persnlk staat activeren
helaas heb ik in de commandbutton macro's ook nog een paar regeltjes staan die naar mijn idee beslist nodig zijn bv

'uitbetaling berekenen


Code:
Private Sub CommandButton1_Click()

cb_betaal_toeslag = cb_toeslag
cb_tijd_voor_tijd = cb_tvt


calc_hour

End Sub
cb_toeslag en cb_tvt zijn checkboxes die gelezen worden en omgezet in een varablele.
deze boolean var wordt gebruikt in de module van de betreffende weekstaat.
Is er een betere methode om de status van de checkbox in een module te gebruiken?
groet maro
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan