Gegevens Importeren uit ander workbook

Status
Niet open voor verdere reacties.

Jemp

Gebruiker
Lid geworden
18 feb 2012
Berichten
131
Zit terug met een beginnersprobleem.

Ik heb twee excel-files die de naam van de wernemer dragen (Jan.xlsx, Gerda.xlsx). In deze files staan een aantal data op verschillende sheets (deze dragen in beide files dezelfde naam). Ik zou nu de gegevens uit de tweede sheet (Gegevens) moeten inladen in mijn file (Groep.xlsm).
Om alles wat gebruiksvriendelijker te maken heb ik in Groep-file een UserForm gemaakt met een ListBox1 en een CommandButton1.
Bedoeling is dat, na het kiezen van een werknemer (daaruit wordt de filenaam afgeleid), wanneer op de commandbutton geklikt wordt alle gegevens van zijn sheet "Gegevens" onderaan toegevoegd worden aan de sheet "Gegevens" van de Groep-file.

Hopelijk kan iemand mij op weg helpen of een of andere verwijzing geven.
Hoofdprobleem is dat ik niet weet hoe je gegevens moet importeren via VBA ....

Voor alle duidelijk hierbij de voorbeeldfiles

Met dank voor de moeite
JP
 

Bijlagen

  • Groep.xlsm
    14 KB · Weergaven: 55
  • Gerda.xlsx
    8,2 KB · Weergaven: 37
  • Jan.xlsx
    8,2 KB · Weergaven: 28
Kan dit helpen?
Code:
Private Sub CommandButton1_Click()
    Dim intRijteller As Integer
    Dim intTeller As Integer
    Dim strBestand As String
    Workbooks.Open Filename:=ActiveWorkbook.Path & "/" & ListBox1.Value & ".xlsx"
    strBestand = ListBox1.Value & ".xlsx"
    intRijteller = 2
    While ThisWorkbook.Sheets("Gegevens").Cells(intRijteller, 1) <> ""
            intRijteller = intRijteller + 1
    Wend
    
    intTeller = 2
    While Workbooks(strBestand).Sheets("Gegevens").Cells(intTeller, 1).Value <> ""
        ThisWorkbook.Sheets("Gegevens").Cells(intRijteller, 1) = Workbooks(strBestand).Sheets("Gegevens").Cells(intTeller, 1).Value
        ThisWorkbook.Sheets("Gegevens").Cells(intRijteller, 2) = Workbooks(strBestand).Sheets("Gegevens").Cells(intTeller, 2).Value
        ThisWorkbook.Sheets("Gegevens").Cells(intRijteller, 3) = Workbooks(strBestand).Sheets("Gegevens").Cells(intTeller, 3).Value
        intTeller = intTeller + 1
        intRijteller = intRijteller + 1
    Wend
    ActiveWorkbook.Close
End Sub
In dit geval moeten alle bestanden wel in dezelfde map staan.

Beste groeten,
Paul.
 
Laatst bewerkt:
Doet perfect wat ik nodig heb Paul :)

Met mijn oprechte dank :thumb:

Groetjes
JP
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan