Ga naar inhoud

1 cel uit verschillende excel files automatisch overzetten naar 1 centrale excelfile


janlazeure

Aanbevolen berichten

beste jean paul,

 

in bijlage 5 excels (test 1 tot 5) waar in elk blad 1 een emailadres staat. Daarnaast een algemeen analyse test bestand waar deze mailadressen zouden moeten inkomen op een automatische manier

kan je me hierin verder helpen aub?

Alvast bedankt

mvg

jan

analyse test.xlsx

test1.xlsx

test2.xlsx

test3.xlsx

test4.xlsx

test5.xlsx

Link naar reactie
Delen op andere sites

Sub UpdateBestanden()

Dim FilePath$, Row&, Column&, Address$
'change constants & FilePath below to suit
      '***************************************
     
      Const SheetName$ = "Blad1"
      Address = Cells(1).Address
      FilePath = "D:\Test2\"
      '***************************************
    With CreateObject("scripting.filesystemobject").getfolder(FilePath)
        For Each fl In .Files
            If Right(fl.Name, 5) = ".xlsx" Then
                Cells(Rows.Count, 1).End(xlUp).Offset(1) = fl.Name
                Filename = fl.Name
                Cells(Rows.Count, 1).End(xlUp).Offset(0, 1) = GetData(FilePath, Filename, SheetName, Address)
                Columns.AutoFit
            End If
        Next
    End With
End Sub

Private Function GetData(path, file, sheet, Address)
      Dim Data$
      Data = "'" & path & "[" & file & "]" & sheet & "'!" & _
            Range(Address).Range("A1").Address(, , xlR1C1)
      GetData = ExecuteExcel4Macro(Data)
End Function

 

Link naar reactie
Delen op andere sites

5 uren geleden, dotchiejack zei:

Hoi Jean Paul,

Ik heb begrepen dat VBA nieuw is.

Zonder dat je iets moet veranderen in de VBA.

Het bestandje Analyse kan je plaatsen waar je wilt. (BV op uw bureaublad )

Maak een map aan op uw C schijf, noem die map Analyse. Plaatst daar alle bestanden waar je de Email adressen wilt uithalen.

(Volgens uw test voorbeelden email in cel A1)

Open het bestandje Analyse en druk op de knop in het blauwe veld.

Er wordt een nieuw bestand aangemaakt met de email adressen.

Wil je een bestaande map gebruiken moet je in de VBA een lijntje code Aanpassen. ik heb in de code aangeduid welke lijn (groen)

Verander MyPath = "C:\Analyse\"

Stel die map staat in je documenten en de naam van de map is Klanten, dan wordt het zoiets.

"C:\Users\Userl\Documents\Klanten\" (User vervangen door de echte naam)

De rest van de werkwijze is hetzelfde..

In bijlage het bestandje. (Analyse)

Als er vragen zijn dan hoor ik wel.

Prettige feesten.:kerstman-waait:

 

 

analyse.xlsm

 

Link naar reactie
Delen op andere sites

Super merci dotchiejack

 

misschien nog een extra vraagje indien niet teveel moeite

stel dat ik uit bijgevoegde bestanden (yannick, jan en eva) steeds cel b2 en cel b12 wil extraheren naar het analyseblad, wat moet dan gewijzigd worden in de vba formule? ik veronderstel dat de A1 die er nu staat dan B2 moet worden ? maar dat is waarschijnlijk niet voldoende want dit probeerde ik al en werkte niet. Plus ik wil er cel B12 ook nog bij in een tweede kolom

 

- in het tabblad personalia van deze bestanden (jan, yannick, eva) komen steeds de persoonsgegevens van de klanten. Stel dat ik later naast bedrijf (b2) en mailadres (b12) nog andere gegevens wil extraheren, wat moet ik dan extra in de formule zetten. En kan ik dit telkens via een gelijkaardige formule doen ? (zodat ik jullie niet telkens hoef lastig te vallen maar dit zelf kan doen)

- wordt dit analysebestand automatisch steeds bewaard als het aangevuld wordt met nieuwe gegevens ? ik had gelezen dat je dit ook in een formule kan toevoegen om dit automatisch te laten bewaren ?

alvast bedankt terug en fijne kerst alvast 

eva.xlsx

analyse (1).xlsm

Jan Lazeure.xlsx

Yannick.xlsx

Link naar reactie
Delen op andere sites

Gast
Dit topic is nu gesloten voor nieuwe reacties.
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.