Gegevens ophalen uit andere excel bestand

Status
Niet open voor verdere reacties.

Sportman1975

Gebruiker
Lid geworden
13 jan 2009
Berichten
23
Beste forumleden,

ben een beginnende VBA gebruiker. Nu zit ik met de volgende uitdaging:
Ik heb 2 bestanden waarbij bestand 1 in tabblad AAA alle gegevens worden opgeslagen. Deze bevat een aantal macro's en werkt prima. Nu wil ik in bestand 2 de gegevens van tabblad AAA (uit bestand 1) importeren middels een VBA en dus middels een knop laten updaten. Macro opnemen werk niet want ik krijg de volgende code:
Code:
Sub Klik()
'
' Klik Macro
'
' Sneltoets: Ctrl+m
'
    Sheets("AAA").Select
    Range("A7").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    ActiveWindow.Close
    ActiveSheet.Paste
End Sub

Aanvullende gegevens:
bestand 1: C:\test\test.xls werkblad AAA (alle gegevens staan vanaf regel 7 -> wil dus alleen actieve en ingevulde velden importeren)
bestand 2: C:\test\doel.xls werkblad AAA (invoer dus ook vanaf regel 7)

De macro m oet er voor zorgen dat ik kan refreshen (oftewel gegevens opnieuw ophalen dat ik alle recente data heb).

Waarschijnlijk is de oplossing doodeenvoudig maar uren surfen hebben mij alleen teleurstellingen opgeleverd.

Alvast bedankt voor jullie tijd en moeite.

Groet,

Dennis
 
Gegevens ophalen uit een ander bestand en importeren.

Sportman,

Hierbij de aanvullende gegevens die je nodig heb voor het halen van de gegevens uit
een ander bestand.:

Code:
Sub Klik()

'Open een ander bestand naast het bestand dat al open is.
'Een werkbook dat geopend wordt wordt automatisch het active werkbook.
Workbooks.Add Filename:="C:\test\doel.xls", ReadOnly:=True
    'Kopieer de gegevens zoals al bekend
    Sheets("AAA").Select
    Range("A7").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    
    'Sluit het active werkbook.
    'Daardoor wordt het eerste bestand waarin deze macro staat
    'weer het active werkbook.
    ActiveWorkbook.Close
    
    'Plakken van de gegevens.
    Sheets("AAA").Range("A7").Paste
End Sub

Als de bron en het doel bestand in de zelfde subdirectory staan kun je ook gebruiken.
Workbooks.Add Filename:=ActiveWorkbook.Path & "\doel.xls", ReadOnly:=True


Veel Succes.
 
Beste Elsendoorn2134,

ik krijg de volgende foutmelding-> Compileerfout: kan het benoemde argument niet vinden
Sub Klik()

'Open een ander bestand naast het bestand dat al open is.
'Een werkbook dat geopend wordt wordt automatisch het active werkbook.
Workbooks.Add Filename:="C:\Users\dennis\Desktop\Offerte\Test.xlsm", ReadOnly:=True
'Kopieer de gegevens zoals al bekend
Sheets("AAA").Select
Range("A7").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy

'Sluit het active werkbook.
'Daardoor wordt het eerste bestand waarin deze macro staat
'weer het active werkbook.
ActiveWorkbook.Close

'Plakken van de gegevens.
Sheets("AAA").Range("A7").Paste

Tevens geeft hij bij het verwijderen van groot gedeelte van de code ook foutmelding bij het plakken.....

Oplossing?
 
Sportman,

Waar staat de gele balk als je de foutmelding krijgt?
Stuur anders even een klein bestandje waarmee ik de macro kan testen.
Hoeft maar een paar (onzin) regels in te staan om de gegevens te kunnen testen.
De layout moet natuurlijk wel kloppen anders heb jij er niets aan.

Veel Succes.
 
Helaas kan ik hem niet uploaden omdat er teveel verwijderd moet worden.

Maar de melding staat bij Filename:=
 
Sportman,

Lastig zo zonder voorbeeld toch maar weer uit het hoofd.
Vervang Workbooks.add door Workbooks.Open. Dat zou moeten werken.

Veel Succes.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan