code starten in een open bestand

Status
Niet open voor verdere reacties.

Sjaakz

Gebruiker
Lid geworden
3 jun 2009
Berichten
120
Heren/dames,

ik heb een code gemaakt waarmee ik automatisch het gewenste bestand opzoek en open. In dit bestand wordt het restant van de code volledig uitgevoerd. Maar nu wil ik in deze code opnemen dat hij een code (archiveer_nu) start welke al in het automatisch geopende bestand staat.

In de loop der jaren heb ik een reeks dossiers gemaakt waar de (archiveer_nu) code staat en die wil ik opruimen.

Mijn vraag is nu welke instructie moet in mijn code opnemen.
Wanneer ik archiveer_nu opneem gebeurt er niets...... maar dat ligt natuurlijk aan mijn zeer beperkte kennis.:eek:

Alvast bedankt weer voor het snelle antwoord

Groet Sjaakz
 
Laatst bewerkt:
je hebt een workbook (#1) en je wil via een macro een macro-functie in een ander workbook (#2) weghalen? of alleen de macro "archiveer_nu" openen in werkboek #2 ?

zoiets?:
Code:
Application.Run ("'workbook #2'!archiveer_nu")
 
een korte toelichting

Hoi Wampier bedankt dat je even de tijd neemt om te antwoorden. Ik geef nog even een toelichting voor het beste resultaat.

Ik heb een bestand 1 waarin ik een macro start.
Deze code opent bestand 2 (met variabele dossiernaam).
Wanneer bestand 2 geopend is dan voert dezelfde code nog een paar bewerkingen uit in bestand 2.

Graag wil ik dat nu de code archiveer_nu gestart wordt welke in bestand 2 staat.

Alvast bedankt voor het antwoorden
 
nee lukt niet

Nee het lukt niet

Aub niet lachen :D maar ik heb de formule 1 op 1 over genomen maar het lukt niet........ maar dat komt dat ik er totaal geen kennis van heb en nog heel veel moet leren?

Maar ben ik nu simpel als ik vraag of het niet aan de bestandsnaam ligt? ...... welke variabel (willekeurige dossier naam) moet zijn.


Ik krijg de foutmelding 1004 tijdens uitvoering.

Microsoft Excel kan geen toegang verkrijgen tot het bestand workbook#2.xlsx
 
De workbook #2 moet uiteraard vervangen worden door de correcte naam van het werkboek waar de macro in zit.
 
bedankt

hoi Wampier,

Bedankt dat je me wil helpen maar mag ik vragen .........?:eek:

Kan je deze nono een beetje op weg helpen?? de exacte naam met adres staat in cel d3 van bestand 1.:eek:


Alvast bedankt
Sjaakz
 
ik heb nu de volgende code verzonnen maar.......

Hoi Wampier,

ik heb nu de volgende code verzonnen maar.......

Code:
Application.Run Range("'[opruimbestand.xlsm]Blad5'!$D$3'.value!archiveer_nu")

:evil:

Maar krijg de volgende melding.

fout 1004 tijdens uitvoering

Methode Range van object_Global is mislukt


en de code blijft hangen op deze regel
(in cell d3 staat het volledige adres van het geopende (2e) bestand) In dit bestand staat dus de uit te voeren code


Alvast bedankt voor je antwoord

Sjaakz
 
Je geeft wel erg weinig informatie.

Hoe heet het bestand van waaruit je de 1e macro start? Hoe heet blad waarin in D3 wat staat (is dat blad5) Wat staat er in D3? Hoe heet het bestand van waaruit de 2e macro gestart moet worden?

Plaats voorbeelden van beide bestanden met de relevante informatie erin. Wat je wil archiveren maakt niet zoveel uit als we maar een indruk kunnen krijgen hoe de handel in elkaar steekt.
 
Code:
Sub hsv()
  Workbooks.Open sheets("blad5").Range("d3").Value
  Run "'" & ThisWorkbook.Sheets("Blad5").Range("d3") & "'![COLOR=#3E3E3E]archiveer_nu[/COLOR]"
End Sub
 
VenA

Goedemorgen VenA bedankt dat je even de tijd neemt om mij te helpen

Door alle gemaakte koppelingen en verticale zoek opdrachten heeft het bijsluiten geen zin ik hoop dat mijn onderstaande toelichting duidelijk is anders maak ik een vereenvoudigde versie.

Ik begin in het opruimbestand.xslm door het dossier nummer in cel a1 in te vullen.

Door verticaal zoeken in verschillende lijsten krijg ik nu het volledige pad met dossiernaam op blad5 cel d3 te zien.

Nu start ik de macro.

Deze opent het gevraagde bestand

Code:
Workbooks.Open Filename:=Sheets("blad5").Range("d3").Value

voert wat bewerkingen uit en het bestand is nu klaar om te archiveren.

maar nu stopt de macro.

Graag wil ik dat de macro archiveer_nu in het gevonden bestand uitgevoerd wordt zodat de macro in één keer doorloopt.

Ik hoop dat het nu duidelijker is.
 
Wou je twee antwoorden?
 
ik snap hem niet

Hoi VenA,

:shocked::D:D:DIk begrijp even niet wat je bedoelt met twee antwoorden! :eek:

In je eerste antwoord wil je meer toelichting.
In je tweede antwoord geef je een code deze heb ik geprobeerd maar die stopt zonder opgave op de eerste regel van je code (en dus zonder de macro archiveer_nu uit te voeren)

Ik hoop dat je de laatste toelichting duidelijk vind
 
Lees even rustig wie er reageert.

Als het hele pad in d3 staat werkt de code goed.
C:\users\sjaakz\bestand2.xls

Zelf even aanpassen.
 
ik krijg het niet voor elkaar......

hoi HVS,

Mijn excuses nu zie ik het :eek: ik ben niet alleen een nono maar heb ook een bril nodig :shocked::confused:

Maarreeeeee ik heb het geprobeerd maar 't lukt niet.

Opruimbestand.xlsm staat in map P:\dossiers\macrobestanden

het te openen bestand staat in een andere map (het complete adres staat op blad5 cel d3 van opruimbestand.xlsm)

bijvoorbeeld P:\dossiers\dossier 5000 tot 50100\5001 Altena.xlsm

zou je toch zo vriendelijk willen zijn........om even te kijken :eek::eek::eek:

Groet Sjaakz
 

Ja, even langs de opticien is geen overbodige luxe denk ik.

Krijg je een foutmelding?
Gaat het bestand open?
Heb je de tekst in blad5!D3 tussen dubbele quotes?
 
Het bijsluiten heeft altijd zin zeker als je zelf geen enkel benul hebt wat je aan het doen bent. Zowel de suggestie van @wampier en de aanvuling @HSV moet voldoende zijn om jouw vraag op te lossen.
 
Laatst bewerkt:
de bestanden

Bekijk bijlage opruimbestand.xlsmBekijk bijlage testbestand.xlsm

Goedemorgen om jullie lijden niet langer te laten duren dan noodzakelijk :D heb ik twee bestanden gemaakt ik start zogezegd in het opruimbestand.

Het adres in d3 is variabel


Ik heb quotes gebruikt maar ik zie het helaas niet meer (serieus :mad:) gewoon typen lukt redelijk maar zodra de formule langer gaat worden raak ik het overzicht kwijt sorry. (Dyslexie)
Maar we gaan gewoon door. :)

Groet sjaakz
 
Laatst bewerkt:
Ik zie nergens de aanbevolen code in jouw bestand.
Begin daar eerst maar mee voor je weer een reactie plaatst.


Code:
Sub archiveer_nu()
  Sheets("Blad1").Range("A5").Resize(2) = Application.Transpose(Array("Heel erg bedankt voor de moeite", "ik ben er blij mee"))
End Sub
 
nou ik ben eruit! bedankt!

Beste lezers,

Vanmorgen heb ik weer even de tijd genomen om mijn "probleem" op te lossen.

En nu ben ik eruit dit is de uiteindelijke code geworden.

Code:
Sub adres_macro()

    'ChDir "P:\dossiers"
    On Error GoTo 2
    
    Windows("Macrobestand.xls").Activate
    
    ActiveWindow.Close
   
2
    
    
    Workbooks.Open Filename:=Sheets("blad5").Range("d3").Value
    aanpassing
    'Workbooks.Open Filename:=Sheets("blad5").Range("d3").Value
    Run "'" & ThisWorkbook.Sheets("Blad5").Range("d3") & "'!archiveer_nu"
    
    
   End Sub

Ik had zoals je ziet de door HSV gegeven letterlijk overgenomen. Hierdoor staat zoals je ziet 'workbooks.open enz' er nu nog twee keer in.

Zoals gezegd heb ik wat moeite met de quotes e.d.

Bij deze wederom bedankt voor het meedenken en de oplossing :thumb::thumb::thumb::thumb:
Met vriendelijke groet
Sjaakz
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan