Springen naar inhoud


- - - - -

Vba Code In Werkmap Of Werkblad


  • Log in a.u.b. om te beantwoorden
Er zijn 3 reacties in dit onderwerp

#1 ronald.dh

ronald.dh

    Junior Developer

  • Leden
  • PipPip
  • 94 berichten
    Laatst bezocht 11 sep 2020 09:50

Geplaatst op 14 februari 2014 - 12:46

Hallo,

In een werkmap met zo'n 10 identieke werkbladen heb ik, per werkblad, VBA code geschreven.
Na wat experimenteren ben ik er in geslaagd om de code identiek te maken.
Bijvoorbeeld, i.p.v. "Blad5" heb ik nu een variabele Pagina = ActiveWorkbook.ActiveSheet.
En variabele data wordt opgehaald uit cellen waarvan het adres op elk werkblad hetzelfde is.

Ik stel me nu de vraag of de code in de werkmap kan staan, zodat ze slechts 1x hoeft voor te komen?
Ik heb het nog niet uitgeprobeerd omdat ik te weinig ervaring heb in VBA.

Dank,

Ronald

#2 guest_BESLO_*

guest_BESLO_*
  • Gasten
    Laatst bezocht

Geplaatst op 15 februari 2014 - 13:16

Maak een module aan en plaats daar de code in, op die manier komt alles beschikbaar voor elk onderdeel van jouw Excel werkboek. Zorg er dan wel voor dat je (zoals in jouw voorbeeld) alles universeel maakt en nergens hard-gecodeerd gaat verwijzen naar werkbladen.
In de VB editor klik je rechts op "Microsoft Excel Objects" en kiest dan "insert - Module" (in de Nederlandse versie is dat - denk ik - toevoegen - Module).
Net zoals in andere versies van VB zijn modules globaal beschikbaar (dus voor alle forms of, in jouw geval, werkbladen).

#3 Jenny

Jenny

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 558 berichten
    Laatst bezocht 02 apr 2017 22:13

Geplaatst op 15 februari 2014 - 16:03

VBA code die private gedeclareerd is, is enkel bereikbaar vanuit werkblad,werkboek,module waar ze gedeclareerd is
VBA code die public gedeclareerd is, is van overal bereikbaar, maar...
het volledige adres moet opgegeven worden, maar ...
behalve in een module, daar is de naam voldoende (zoals BESLO reeds aangaf)

#4 ronald.dh

ronald.dh

    Junior Developer

  • Leden
  • PipPip
  • 94 berichten
    Laatst bezocht 11 sep 2020 09:50

Geplaatst op 19 februari 2014 - 17:03

Dank voor de reactie's.

Ik had het intussen reeds zelf opgelost, met trial-and-error, enkel de verwijzingen naar het actief werklblad moeten aanpassen.
De code staat nu netjes en éénmalig in de werkmap en wordt door alle werkbladen gebruikt.

Ik had deze vraag gesteld omdat VBA blijkbaar niet hetzelfde is als VB.net (why oh why, uncle Bill?).
En omdat excel rechtstreeks verbonden was met de plc van een productiemachine, ik was beetje benauwd om kapitale fout te maken.
Maar alles is goed gekomen.

Bedankt




0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)