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

Automatiseren van wijzigen in excel bestanden

Status
Niet open voor verdere reacties.

digitall12

Gebruiker
Lid geworden
6 jul 2008
Berichten
99
Ik heb een Excel sheet waarin ik in cel B1 een weeknummer heb staan. Daaraan gelinkt komt de datum te staan in D1. Dat werkt goed.

Nu wil ik het weeknummer automatisch laten oplopen met telkens 1 , tot 52 , zodat de datum veranderd in D1 en het bestand automatisch opslaat met een vooraf bepaalde naam, bijvoorbeeld test_week_1.xlsm.
Dezelfde routine wil ik doorvoeren met de volgende oplopende weeknummers tot en met weeknummer 52.

Zodat ik uiteindelijk 52 bestanden heb met verschillende weeknummers ,-datums en bestandsnamen.

Ik heb zo eea opgezocht met VBA maar dat werkt totaal niet.

Sub UpdateFiles()
MyDir = ActiveWorkbook.Path
DataDir = MyDir & "\test"
ChDir (DataDir)
Nextfile = Dir("*.xls")
While Nextfile <> ""
Workbooks.Open (Nextfile)
Workbooks(Nextfile).Sheets("DataTab").Range("A1") = "newvalue"
ActiveCell.Value = ActiveCell.Value + 1
Workbooks(Nextfile).Save
Workbooks(Nextfile).Close
Nextfile = Dir()
Wend
End Sub

Kan iemand mij hierbij helpen?

Gr Ron
 
Laatst bewerkt:
Begin eens met een voorbeeldje te posten. De code die je hebt gepost opent steeds een ander bestand, dus dat lijkt mij niet de bedoeling. Je zou eens kunnen beginnen met een macro op te nemen, daarin een paar bladen toe te voegen en te hernoemen en dan de code te bekijken.
 
En dit opgelost is zal je volgende vraag waarschijnlijk zijn " Hoe krijg ik al die informatie op 1 blad?"

er zijn op 1 blad meer cellen dan dat je tot uw pensioen kunt opvullen.
 
Ik ga zo snel mogelijk een voorbeeld posten.
En inderdaad , ik bedoel 52 xlsm bestanden van weeknummer 1 tm 52.
 
Simpel voorbeeldje:
Code:
Sub UpdateFiles()
    MyDir = ActiveWorkbook.Path
    datadir = MyDir & "\test"

    For i = 1 To 52
        Cells(1, 2) = i
        ThisWorkbook.SaveCopyAs datadir & "\test_week_" & i & ".xlsm"
    Next i
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan