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

Via Macro, varriabele bestandsnamen Importeren ?

Status
Niet open voor verdere reacties.

freddie.dekkers

Gebruiker
Lid geworden
8 dec 2004
Berichten
62
Beste Lezer,

Kan iemand mij uitleggen hoe ik via een macro elke keer b.v. een CSV-bestand kan importeren die oorspronkelijk een datumnaam heeft, zonder dat ik deze eerst moet renamen in een standard importnaam.
 
In mijn geval gaat het om geïmporteerde csv bestanden van de postbank die ik eenvoudig een andere naam geef na het importeren daarvan. Met importeren bedoel ik dan het aanklikken van het csv bestand want dat opent uiteraard gewoon in Excel.
Code:
ActiveWorkbook.SaveAs Filename:="D:\Doc\Excel\giro.xls", FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
Daarna de gewenste bewerking toepassen.

OK, je andere vraag gelezen hebbend denk ik dat bovenstaande niet van toepassing is.
 
Laatst bewerkt:
Hoj Cor.

Ja, in mijn geval gaat het ook om die veranderende datumnamen van de Postbank Downloads! Dank je voor je uitvoerig voorbeeld, ... Helaas gaat mij dit boven de pet ik ben net begonnen met macro programering te verkennen, wel heb ik enige kennis van Basic en weinig van Turbo Pascal 6, dus dat duurt even voor 't 'dubbeltje valt!

Misschien is mijn vraag duidelijker als ik uitleg dat mijn wens is om tijdens het draaien van een macro het juiste Import bestand te kunnen kiezen vanuit de opslag map, of wordt dit een zeer gecompliceerde programering?!
 
freddie
Code:
Sub kolom()
Application.ScreenUpdating = False
    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=True, Comma:=True, Space:=False, Other:=False, FieldInfo:= _
        Array(Array(1, 4), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7 _
        , 1), Array(8, 1), Array(9, 1)), TrailingMinusNumbers:=True
    Rows("1:1").Select
    Selection.Delete Shift:=xlUp
   ActiveWorkbook.SaveAs Filename:="[COLOR="Red"]D:\Doc\Excel\giro.xls[/COLOR]", FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False

    Dim lr     As Long 'laatste rij
    Dim lk     As Integer 'laatste kolom
    lr = Cells(Rows.Count, "A").End(xlUp).Row
    lk = Cells(1, Columns.Count).End(xlToLeft).Column
    Range(Cells(1, 1), Cells(lr, lk)).Select 'Copy
    Selection.Copy
    Dim Msg, Style, Title, Response, MyString
ChDir "D:\Doc\Excel"
    Workbooks.Open Filename:="[COLOR="Red"]D:\Doc\Excel\Postbank.xls[/COLOR]", Password:=""
    Sheets("2007").Range("A65536").End(xlUp).Offset(1, 0).Select
    
     ActiveSheet.Paste
   Workbooks("Giro").Activate
   Selection.ClearContents
   ActiveWorkbook.Close SaveChanges:=True

    Application.ScreenUpdating = True
End Sub

Deze code zal werken als je eerst een werkmap aanmaakt en die de naam postbank geeft. Hernoem een blad (het eerste) in 2007. Laat de macro z'n werk doen en alles komt goed. de volgende keer dat je, met een ander csv bestand, deze actie weer uitvoert worden de nieuwe gegevens onder de reeds bestaande geplakt.
Voor de goede orde moet je wel het pad in de code (in het rood) aanpassen aan het pad waar jij het bestand opslaat.
 
Als ik me niet vergis dan is bij deze jouw andere vraag overbodig.
 
Heren,

Volgens mij is een macro niet nodig. Je kunt via Data > Externe gegevens importeren > Gegevens importeren, een link leggen met een csv-bestand.
Zodra er een nieuw csv-bestand wordt neergezet, kun je via het rode uitroepteken op de werkbalk de gegevens bijwerken door de link te herleggen naar dit bestand.
Wat ook kan, is het nieuwe bestand een standaard naam geven 'Postbank actueel.csv' bijv. en het oude bestand een datum mee te geven in de naam. Dan hoef je de link niet bij te werken maar kun je die vastzetten. Dan is het nog maar één druk op de knop om de nieuwe gegevens op te halen.
Tenslotte is het mogelijk de link te vernieuwen bij iedere opening van het bestand, maar dat is aan jou.

Richard
 
Hé Cor & Richard Bedankt!

Sorry, ik ben druk geweest en nog even, daarom alvast bedankt voor deze mogelijke oplossingen van jullie ik ga er mee aan de slag en zal de uitkomst kenbaar maken hier.

:thumb:

Freddie.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan