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

naam csv bestand als variabele gebruiken

Status
Niet open voor verdere reacties.

ceevee2

Gebruiker
Lid geworden
8 jun 2011
Berichten
17
ik beschik over een installatie van zonnepanelen met daarbij een sunnybeam = toestel dat om de tien minuten de meterstand van zonnepaneel-opbrengst registreert in csv bestand. Elke nieuwe dag is een nieuw csv bestand dat wordt bijgehouden op toestel. Regelmatig kopieer ik deze csv bestanden naar hdd.
Ik heb een excel bestand gemaakt waarin ik deze data verwerk in tabellen en grafieken. Hierbij verwijs ik voor alle data telkenmale naar het desbetreffende csv bestand van die bepaalde dag zonder dus de data te kopieren naar excel bestand. Het csv bestand heeft telkenmale als naam de datum vb 11-05-30.csv
Als ik data van bvb 31 mei wil toevoegen kopieer ik cel die verwijst naar 11-05-30.csv en verander ik manueel 30 in 31 zodat excel gaat kijken in 11-05-31.csv
Mijn vraag : is het mogelijk om in mijn cel in te bouwen dat excel in mijn nieuwe kolom voor 31 mei zelf de inhoud van de cel van 30 mei kopieert maar verwijst naar het bestand dat 1 dag groter is dan het vorige dus verwijst naar 11-05-31.csv ipv 11-05-30 uit de vorige kolom ?
Ik wil dus hetzelfde toepassen als wanneer ik zeg dat b1=a1+1 maar waarbij a1 niet een getal is maar wel een bestandsnaam die toevallig uit een datum is opgebouwd.
Bedankt
 
ceevee2,

welkom op het forum!

Het helpt enorm, als je een voorbeeld van je bestand upload.
De helpers kunnen dan uitgaan van wat je al hebt en hoeven niet zelf een poging te doen om jouw resultaat na te maken....
 
mijn volledig bestand gaat al enkele jaren mee en is te groot om up te loaden. Ik heb daarom een beperkt bestand gemaakt van de 4 laatste dagen. Je ziet op rij 8 de datum. Daaronder staat per 10 minuten de nieuwe meterstand van de omvormer van de zonnepanelen. Er blijft 0 staan tot 's morgens vroeg wanneer het toestel voor het eerst die dag stroom begint op te brengen. Door van elke dag het hoogste getal te vergelijken met het hoogste getal van de dag ervoor heb ik de dagopbrengst. het gaat er nu dus juist om dat elke cel vanaf rij 9 en verder naar beneden een verwijzing bevat naar het .csv bestand (met de datum als naam) dat door de zonne-installatie wordt aangemaakt. Als ik morgen de data van 8 juni wil toevoegen kopieer ik kolom E naar kolom F. Alle cellen worden aangepast maar de verwijzing naar bestand '11-06-07.csv' wordt letterlijk overgenomen. Ik zoek dus een oplossing om bij het kopieren naar kolom F deze verwijzing automatisch te laten aanpassen naar het csv bestand "11-06-08.csv"
 

Bijlagen

ceevee2

kun je me ook dit sturen?
'C:\Mijn documenten alle pc''s\Excel Files\Zonnepanelen\11-06-07.CSV
Of in ieder geval een deel daarvan?
 
Beste,

in bijlage het bestand. Om het door de filter van de site te krijgen heb ik de extensie gewijzigd van .csv naar .xls
 

Bijlagen

ceevee2,

kijk eens of dit werkt......
 

Bijlagen

Beste Haije

voorlopig kan ik er nog niet te goed aan uit. Ik blijf nog even proberen hoe het in elkaar zit.
 
Beste Haije,

na wat verder "ploeteren" is het me toch gelukt. Ik heb te lang zitten proberen zonder te beseffen dat ik het achterliggende csv bestand ook open diende te hebben.

Er blijft echter een probleem. Zoals ik voorheen werkte diende ik het csv bestand 1 keer open te hebben bij het toevoegen van de meest recente informatie. Bij een volgende keer dat ik het excel bestand opende wist excel nog de inhoud van de cellen waarvoor excel zijn gegevens gehaald had in het csv bestand.
Met jouw manier van werken weet excel de inhoud van de cellen op basis van de csv bestanden zolang als deze csv's open staan. Als ik alles opsla en sluit krijg ik de volgende keer dat ik het excel bestand open geen data in mijn cellen. Ik moet hiertoe opnieuw de csv bestanden openen. Gezien ik voor elke dag een csv bestand heb zou ik met deze manier van werken na een paar jaar meer dan 1000 csv bestanden moeten openen telkenmale ik mijn excel bestand wens te bekijken. Weet je daar nog een oplossing voor ?
 
Een idee is om de waardes in het bestand te kopiëren.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 8 Then
    If IsDate(Target) Then
    Application.ScreenUpdating = False
    Workbooks.Open [B2] & Format(Target, "yy-mm-dd") & ".xls"
    With Workbooks(Workbooks.Count)
        .Worksheets(1).Range("B9:B152").Copy Cells(9, Target.Column)
        .Close SaveChanges:=False
    End With
    Application.ScreenUpdating = True
    End If
End If
End Sub
Zodra in een cel in rij 8 een wijziging plaatsvindt (bijvoorbeeld een formule wordt naar rechts geschroven), dan controleert de code of er een datum is ingevoerd.
Vervolgens wordt het betreffende bestand geopend, de gegevens van het bereik B9 t/m B152 van dat bestand gekopieerd en in de gewijzigde kolom geplaatst.
Tenslotte wordt het bronbestand automatisch afgesloten.

Met vriendelijke groet,


Roncancio
 
ceevee2,

wat is de status van deze topic nu?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan