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

Excel Automatisch gegevens laten oppikken uit dezelfde map

  • Onderwerp starter Onderwerp starter VJJK
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

VJJK

Gebruiker
Lid geworden
14 okt 2010
Berichten
47
Dag Forum leden,

Ik hoop dat jullie mij kunnen helpen met het volgende vraagstuk.

Per project laat ik vanuit een excel bestand aanmaken met de naam "list to excel" . Nu laat ik dit door een ander "excel" bestand (in dezelfde map) importeren en verder verwerken.

Alleen.. Aangezien ik per project een andere map gebruik, moet ik bij het opzetten van een nieuw project telkens de link naar de "list to excel" handmatig aanpassen. Dit moet toch anders kunnen lijkt mij.

Binnen ACCESS bestaat het volgende CurrentProject.Path

Alleen,, bestaat dit ook in Excel.

De uiteindelijke vraag is. Hoe kan ik een bestand automatisch laten verwerken door een ander bestand wat in dezelfde map staat?
 
Application.activeworkbook.path is volgens mij wat je zoekt. echter wordt de "path" variabele pas aangemaakt na een "save" operatie, indien je start vanuit een nieuwe file. Indien je de file opent via load wordt de variabele gevuld bij het openen
 
Ik zie wat je bedoeld. Echter maakt deze een path aan na het saven.
Dit is wel het juiste path maar bij het aanmaken van een ander project, zal ik deze handeling dan nogmaals moeten uitvoeren.

Dit is dus nog niet helemaal wat ik bedoel.
 
Een en ander is afhankelijk van de volgorde dat je de handelingen uitvoerd, kun je dat beter beschrijven?

Mijn aanname was:

- je hebt beide excels naar een nieuwe directory
- je opent de eerste file (die aanpassingen maakt): hier is path gedefinieerd bijv c:\test1\
- je opent de volgende excel: path+"list to excel.xls" <- deze staat altijd in de directory

Kun je aangeven waar het spaak loopt?
 
Als alle bestanden in dezelfde dir staan heb je aan ThisWorkbook.Path toch voldoende.
 
Bedankt voor de reacties tot nu toe..

Het is denk tijd om de VBA even te plaatsten, Ik heb allebei jullie ideeen geprobeerd maar allebei zonder succes.

Code:
Sub GetValue()
Dim pad As String, bestand As String, blad As String, cel As String

  pad = "Application.activeworkbook.path"
  bestand = "list to excel.xls"
  blad = "(list_to_excel)"

  Application.ScreenUpdating = False
  For regel = 1 To 11
    For kolom = 1 To 4
      cel = Cells(regel, kolom).Address
      Cells(regel, kolom) = GetValue(pad, bestand, blad, cel)
    Next kolom
  Next regel
  Application.ScreenUpdating = True
End Sub

Wat klopt hier niet??.
 
Gebruik geen dubbele quotes voor het pad.

Code:
pad = Application.Activeworkbook.path

Met vriendelijke groet,


Roncancio
 
Ik krijg daar een compile error uit

wrong number of arguments or invalid property assignment
 
Code:
Sub Gegevens()
Dim pad As String, bestand As String, blad As String, cel As String

  pad = Application.ActiveWorkbook.path
  bestand = "list to excel.xls"
  blad = "(list_to_excel)"

  Application.ScreenUpdating = False
  For regel = 1 To 11
    For kolom = 1 To 4
      cel = Cells(regel, kolom).Address
      Cells(regel, kolom) = ExecuteExcel4Macro("'" & pad & "\" & "[" & bestand & "]" & blad & "'!" & Range(cel).Range("A1").Address(, , xlR1C1))
    Next kolom
  Next regel
  Application.ScreenUpdating = True
End Sub

Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
Het heeft even geduurd voor ik een antwoord heb kunnen geven. Roncancio, als ik jouw code gebruik word er wel automatisch gegevens opgehaald. Alleen krijg ik een reference error. Overal komt #REF# te staan. Heb je enig idee hoe dit komt?
 
Wat ik nu namelijk doe is dat ik bij excel via import external data de file aangeef waar excel zijn data uit moet halen. Dit moet ook via een VBA kunnen lijkt mij die automatisch bij het openen vam het werkblad de gegevens binnenhaalt. Dit is de Query die excel op dit moment gebruikt..

Code:
Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=G:\Procurement\Expediting & Inspection\06-ACCESS\DSM EMMEN NL601900\List to excel.xls;Mode=Share Deny Write;Extended Properties="HDR=YES;";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False
 
Het zou kunnen dat het werkblad niet wordt gevonden.
Heeft het werkblad waaruit verwezen wordt, (list_to_excel) ?
Dus inclusief de haakjes?

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan