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

Inlezen bestand

Status
Niet open voor verdere reacties.

petervdijk

Gebruiker
Lid geworden
17 dec 2015
Berichten
176
Beste,

Ik heb een uitdaging met betrekking tot een rapportage.

Er word iedere week automatische een rapportage gemaild als bijlage. Kan de bijlage waarin één tabblad gevuld is, op een of andere manier automatisch ingelezen worden in een tabblad van een bestaand bestand?

Het bestand word nu iedere keer handmatig gekopieerd en geplakt.

Gr, Peter
 
Hoi,
Met zoiets:
Code:
Sub Dotchie()
Dim x As Workbook
Dim y As Workbook
Dim vals as Variant
'open beide bestanden:
Set x = Workbooks.Open(" path van het te kopieren bestand ")
Set y = Workbooks.Open(" path van het bestand waar naartoe moet worden gekopieerd ")
vals = x.Sheets("Bladnaan").Range("A1").Value
y.Sheets("Bladnaam").Range("A1").Value = vals 
x.Close
End Sub
 
Import

Ik heb het getracht voor elkaar te krijgen, jammer genoeg is mijn kennis van VBA gering. Hopelijk kan en wil je me ermee verder helpen (-;

Ik heb twee voorbeelden gemaakt met een "import" dit bestand word iedere week vanuit een directory in een map geplaatst. En een "werkblad" vanuit dit bestand word iedere dag gewerkt.

Import "blad1" moet worden geïmporteerd in Werkblad "blad1"

Nu vraag ik me eigen af als de "import" vanaf een directory word verzonden naar een map, of deze dan niet direct in de map Werkblad gekopieerd kan worden?

Groet Peter

Bekijk bijlage Import.zip
 
In mijn beleving zijn 'directory' en 'map' synoniem, dus wat bedoel je met:
dit bestand wordT iedere week vanuit een directory in een map geplaatst.
Als je zegt Import Blad1 moet worden geïmporteerd in Werkblad Blad1, bedoel je dan dat de laatste door de eerste vervangen moet worden?
 
Laatst bewerkt:
Het bestand word automatisch vanuit de database (IBM Cognos Software) in aan map geplaatst indd synoniem :d. De eerdere versie word dan vervangen met de nieuwe versie (handmatige handeling knippen en plakken).
 
Importeer in het bestand 'alle import' het bestand "G:\OF\import_001.xlsb" in een nieuw werkblad en geef dat nieuwe werkblad als naam de dag van vandaag.

Code:
Sub M_snb()
   Documents("alle import.xlsb").Sheets.Add(, Sheets(Sheets.Count), , "G:\OF\import_001.xlsb").Name = Format(Date, "yyyy_mm_dd")
End Sub
 
Gezien je het importbestand binnenkrijgt op de mail is het wellicht handig een macro in Outlook te zetten:
Vanuit Outlook kies je ALT-F11 om de VBA-editor te openen. Voeg een module toe en plaats deze code:
Code:
Sub tsh()
    Dim objXL As Object
    Dim objAtt As Attachment
    Dim sMap As String
    Dim wbImp As Object, wbWbl As Object
    
    Set objXL = CreateObject("Excel.Application")
    Set objAtt = ActiveExplorer.Selection.Item(1).Attachments(1)
    [COLOR="#FF0000"]sMap = "C:\Temp\"[/COLOR]
    With objXL
        objAtt.SaveAsFile sMap & "import.xlsx"
        Set wbImp = .Workbooks.Open(sMap & "import.xlsx")
        Set wbWbl = .Workbooks.Open(sMap & "werkblad.xlsx")
        wbImp.sheets("Blad1").Copy before:=wbWbl.sheets(1)
        wbImp.Close False
        .Visible = True
    End With
End Sub
Vervang de rode regel door de mapnaam waarin het bestand Werkblad.xlsx staat
Selecteer de mail met bijlage en voer de macro uit door ALT-F8 te typen en tsh te selecteren.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan