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

Start een VB routine vanuit een ande sheet

Status
Niet open voor verdere reacties.

Roboman

Gebruiker
Lid geworden
5 jun 2014
Berichten
48
Geacht Forum,

Ik heb een waarschijnlijk klein probleem, maar krijg m'n vinger niet achter de oplossing. Wat is het geval:
Ik heb op een sheet (laten we zeggen Sheet A) een VB script draaien wat emails stuurt en wat andere zaken afhandelt, en dat werkt prima.
Nu heb ik een worksheet toegevoegd (EmailLog) om wat logging te kunnen bijhouden die gevoed moet worden als de VB routine op Sheet A gerund wordt.
In de VB routine die in sheet A draait een stukje code toegevoegd aan het einde van het script zodat alles uitgevoerd is voordat het nieuwe script Copy2EmalLog op Sheet EmailLog gestart wordt zodat ik alle gegeven kan ophalen. Mijn probleem is dat ik de code voor deze call wel heb, den kik, maar ik krijg de verwijzing naar de code op het andere sheet EmailLog niet voor elkaar.

De code die ik denk uitgevonden te hebben die in het bestaande script op Sheet A ingebouwd zit en dat de Vb routine op sheet "EmailLog" moet aanroepen zioet er zo uit.

Code:
 Worksheets("EmailLog").Activate
    Dim objShell
    Set objShell = Wscript.CreateObject("[B]Copy2EmailLog.Shell[/B]")

    objShell.Run "Copy2EmailLog"
    Set objShell = Nothing

Ik denk dat ik fouten maak in het gehighlighte deel waar een verwijzing ontbreekt naar de sheet "EmailLog". Ik heb al van alles geprobeerd maar houd een 424 runtime error, maar ik denk dat ik gewoon over de oplossing heen kijk.

Dus om kort te gaan;

Vanuit Sheet A en VB script A, wil ik Script B starten op Sheet B

Wie kan mij hierbij helpen?

met vriendelijk groet, en wacht met spanning af,

Roboman
 
Laatst bewerkt:
Zet je code tussen codetags en plaats tevens de regel die met Sub begint.
Nu is niet te zien welk type script het is.
 
Beste Heren Helpers
,
Inmiddles heb ik de tekst van mn vraag aangepast en ook excuses aan de webmaster gemaakt omdat ik de vraag tweemaal gepost had, en hoop dat ik nu verder kan met m'n vraag.

Met verder experimenteren heb ik het stukje code geheel laten vervallen en alleen
Code:
Copy2EmailLog

toegevoegd. Hierna krijg ik een Compile error "Sub or Function not defined".
het moet toch mogelijk zijn om een macro die op een sheet staat, vanuit een macro die een ander sheet staat aan te roepen?

met vriendelijke groet,
Rob
 
Zet de macro Copy2EmailLog in een module.
 
Plaats het bestand met volledige code. Nu is het alleen maar speculeren. Zie ook de link in #3
 
In werkblad codemodules hoor je eigenlijk alleen event routines te hebben (zoals Worksheet_Change) en eventuele routines die specifiek voor het werkblad zijn bedoeld. Gewone routines horen in gewone modules.
 
Beste Helpers,

Edmoor gaf de tip om de routine in een module te plaatsen. Dit werkt inderdaad, waardoor mijn "problem" opgelost is. De opmerking van JKPieterse vind ik ook waardevol en ga eens wat meer over deze functie leren.
In iedergeval werkt het nu zoals ik voor ogen had en ben weer erg blij met de support die ik ontvangen heb.

vriendelijke groet
Rob
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan