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

Opslaan in sub map

Status
Niet open voor verdere reacties.

davylenders123

Gebruiker
Lid geworden
20 jun 2010
Berichten
902
Ik heb al een macro die het bestand gaat opslaan in een map waar mappen in staan met als naam jaartal en maand.
"G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte" is de lokatie
En hier staan dan de volgende mappen die op zich ook weer een sub map hebben.

2017 01
Distributie (dit is een sub map)
2017 02
Distributie (dit is een sub map)
2017 03
Distributie (dit is een sub map)
2017 04
Distributie (dit is een sub map)
enz



Hoe kan ik er voor zorgen dat de bestanden ineens in de submap Distributie komt te staan in de juist maand.
En niet enkel in de juiste maand.

In kolom A die vermeld is in de code hieronder staat een datum in deze opmaak 18/04/2017

Hoop dat ik het zo duidelijk genoeg heb uitgelgd.

Code:
With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A1]), "yyyy mm") & "\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A1]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A2]), "yyyy mm") & "\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A2]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52
 
Dat kan je toch gewoon bij het pad dat je al maakt opgeven?
Code:
pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A1]), "yyyy mm") & "\[COLOR="#FF0000"]Distributie\[/COLOR]"
 
Mij ontgaat de logica los van het opslaan in een andere map. Hetzelfde bestand wil je 2 keer opslaan en dan met de naam afhankelijk van de waarde in A1 of A2?
 
Edmoor

De oplossing van u werkt.:thumb: Ik wist niet waar ik juist de map distributie moest toevoegen in de code en wat ervoor en achter moest, omdat ik nog niet zo goed ben in vba.

VenA

In kolom A komen al de werkdagen staan van die maand, en dan wordt het bestanden opgelagen met in de naam de datum die in kolom a is ingegeven. (Had er in het vb maar 2 meegenomen maar het zijn er in totaal 23)
Deze worden dan op een sharepoint site opgeladen. Als de mensen zelf het invulbestand moeten opslaan is steeds de naam keuzen anders.
Daarom doe ik dit op deze manier.
En dit zijn maandelijks 5 verschillende bestanden die ik zo moet klaarzetten.
 
En dan nog begrijp ik er niets van.

je hebt dus 23 keer iets van
Code:
With Sheets("Data Aanmaak")
staan?

For j = 1 to 23 to scheelt nogal wat
 
Zoiets dus:
Code:
For i = 1 to 23
  With Sheets("Data Aanmaak")
    pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.Cells(i,1), "yyyy mm") & "\Distributie\"
    naam = "Dagrapport PC Distributie " & Format(CDate(.Cells(i,1)), "dd-mm-yyyy") & ".xlsm"
  End With
  ActiveWorkbook.SaveAs pad & naam, 52
Next i
 
Laatst bewerkt:
Ik heb het inderdaad op een vrij lange manier gedaan.

Ik ben echt niet goed in vba en probeer maar wat, ook met veel hulp van de krakken hier op het forum :thumb: , en als het dan uiteindelijk werkt houden we het zo.
Wat soms dan wel niet de meest efficiëntste code is.

edmoor

Heb u verkorte code eens geprobeerd en deze werkt niet.
Het gedeelte pad en naam kleuren rood in de code direct bij plaatsen al.

Hieronder de code zoals ik ze heb staan.
Veel te lang dus :)
Maar ze doet wel wat ze moet doen.

Code:
Sub Aanmaak_Blad_Ops_Distributie()

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A1]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A1]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A2]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A2]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A3]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A3]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A4]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A4]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
 pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A5]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A5]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A6]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A6]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A7]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A7]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A8]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A8]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A9]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A9]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A10]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A10]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A11]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A11]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A12]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A12]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A13]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A13]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A14]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A14]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A15]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A15]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A16]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A16]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
 pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A17]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A17]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
 pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A18]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A18]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A19]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A19]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A20]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A20]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A21]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A21]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
 pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A22]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A22]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52

With Sheets("Data Aanmaak")
  pad = "G:\Pakketten\Mag-Data\Aanmaak blad ops\aangemaakte\" & Format(CDate(.[A23]), "yyyy mm") & "\Distributie\"
  naam = "Dagrapport PC Distributie " & Format(CDate(.[A23]), "dd-mm-yyyy") & ".xlsm"
End With
ActiveWorkbook.SaveAs pad & naam, 52


End Sub
 
Tikfoutje inderdaad. Aangepast.
 
Heb de aanpassing gedaan bij naam.
Maar bij pad bleef het rood.

Daar heb ik het volgende nog aangepast
.celis(i,1), gewijzigd in

.celis(i, 1)),

En nu werkt ze wel.

Beide bedankt voor jullie snelle oplossingen en heb dank zij jullie weer wat bijgeleerd, en een efficiënte code.
Top :thumb::thumb:
 
Heb de aanpassing gedaan bij naam.
Maar bij pad bleef het rood.

Daar heb ik het volgende nog aangepast
.cells(i,1), gewijzigd in

.cells(i, 1)),

En nu werkt ze wel.

Beide bedankt voor jullie snelle oplossingen en heb dank zij jullie weer wat bijgeleerd, en een efficiënte code.
Top :thumb::thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan