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

aanpassing VBA code

Status
Niet open voor verdere reacties.

Hunuloeloe

Gebruiker
Lid geworden
12 sep 2016
Berichten
311
Dit is het bestand dat ingevuld wordt en dagelijks geëxporteerd:
Bekijk bijlage Dagplanning.xlsm

En dit is hoe de dagplanning dan geëxporteerd moet worden in een ander bestand (als tabblad)
Bekijk bijlage Dagproductie december 2016.xlsx

nu staan er de dagen 1-12, 2-12 en 3-12 al in maar als ik dan de dagplanning van 4-12 exporteer wil ik dat die hierbij komt te staan.... en zo verder dus ook met de maanden januari, februari etc.

Hoe moet ik dit met VBA doen?! :shocked::confused:
 
Ik zou alles in een databank zetten en daarna filteren op een datum daar zijn meerdere mogelijkheden voor, als je voor elke datum een tabblad gaat maken dan heb je op eind van het jaar een bestand van ongeveer 250 tabbladen, begin maar eens een tabblad te zoeken.
 
Hoi,

En bedankt voor je reactie, maar wat jij zegt gebeurt al. Elke dag wordt nu al als een apart bestand opgeslagen.
Ik wil alleen dat er niet in 1 bestand meer dan 250 tabbladen komen maar juist per maand.
Dus ik vul in 1-1-2017 t/m 31-1-2017 dit komt in 1 bestand namelijk Maandproductie januari 2017
Ga ik nu de dagplanning van februari exporteren dan moet de macro ervoor zorgen dat die 1 excel aanmaakt Maandproductie februari 2017 en vervolgens alle dagplanning van februari hierin laten opslaan.

uiteindelijk heb je dan 12 bestanden met daarin per maand alle (productie)dagen.

hiermee kan ik snel berekenen wat per maand de gemiddelde productie was.

Dit moet toch wel mogelijk zijn lijkt me? Ik begrijp VBA maar dit gaat ver boven mijn niveau! Daarom hoop ik dat enkele VBA experts van dit forum me kunnen helpen :)
 
Met de formule somproduct kan je uit een grote databank de maand productie berekenen daar moet je geen aparte tabblad voor aanmaken.
 
Hoi, kan je hier iets mee?
Kies het juiste bestand in de listbox, verander eventueel de datum en klik op exporteer.
Het tabblad wordt aangemaakt in het bestand.
Bestaat het bestand nog niet kan je een nieuw bestand aanmaken.
 

Bijlagen

hoi Philiep,

Dank voor je reactie, dit is volgens mij wel wat ik zoek maar even betreft de opslag locatie. Met maak bestand aan, waar maakt die dit bestand dan aan? welke locatie (schijf)

Ik zou hem namelijk graag op deze locatie op willen laten slaan:
I:expeditie Holland\Dagplanning\Personeelsplanning\Dagproductie\Expeditie

Zou jij kunnen laten zien hoe de code dan wordt?! volgens mij is dan het hele probleem opgelost :)
 
Laatst bewerkt:
Hoi,
In mijn vbtje in de map Maandtotalen (groen) op de plaats waar het bestand Dagplanning zich bevindt (Rood), met als naam de tekst Dagproductie en de gekozen maand uit de comboBox en een spatie en het gekozen jaar uit de textBox (blauw).
Code:
NewBook.SaveAs Filename:=([COLOR="#FF0000"]ThisWorkbook.Path[/COLOR] & "\[COLOR="#008000"]Maandtotalen[/COLOR]" & "\" _
& [COLOR="#0000FF"]"Dagproductie " & ComboBox1.Value & " " & TextBox1.Value & "[/COLOR].xlsx")
 
Hoi Philiep,

Ik had #7 nog gewijzigd zou jij voor mij kunnen laten zien hoe de code dan wordt?
 
Hoe link je trouwens de userform aan de opdrachtknop?
Met modules heb ik hier geen probleem mee maar met de userform kom ik er niet uit :confused:
 
Voor het aanmaken van een nieuw bestand
Code:
NewBook.SaveAs Filename:="I:\expeditie Holland\Dagplanning\Personeelsplanning\Dagproductie\Expeditie\ " _
& "Dagproductie " & ComboBox1.Value & " " & TextBox1.Value & ".xlsx"

Hoe link je trouwens de userform aan de opdrachtknop?
Dit is een active X knop, de code kan je vinden onder het blad waar de knop staat.
 
Gedaan,
Nu krijg ik echter de foutcode (kan het pad niet vinden code 76) dat die de userform niet kan weergeven
Code:
Private Sub CommandButton1_Click()
[COLOR="#FF0000"]UserForm2.Show[/COLOR]
End Sub
 
Verander naar in UserForm_Initialize
Code:
SubFolderName = ("I:expeditie Holland\Dagplanning\Personeelsplanning\Dagproductie\Expeditie\")
 
Laatst bewerkt:
en deze
Set wbMASTER = Workbooks.Open("I:\expeditie Holland\Dagplanning\Personeelsplanning\Dagproductie\Expeditie")
 
Ik ben nu thuis en niet op mn werkplek dus kan bovenstaande ook niet testen maar morgenvroeg ga ik dit gelijk dit.

Even samenvattend:
Dit
Code:
Private Sub CommandButton1_Click()
UserForm2.Show
End Sub
verander ik in dit?
Code:
Private Sub CommandButton1_Click()
UserForm2_Initialize
End Sub

en vervolgens moet ik ook de opslagmethode aanpassen zeg jij?
of waarvoor is die subfoldername code?

Alvast bedankt voor de hulp :)
 
Hoi,
UserForm1.Show = OK
In je code onder de UserForm verander je onder UserForm_Initialize deze code
Code:
 SubFolderName = (ThisWorkbook.Path & "\Maandtotalen" & "\")
in
Code:
SubFolderName = ("I:\expeditie Holland\Dagplanning\Personeelsplanning\Dagproductie\Expeditie\")
In je code onder de Userform verander je onder CommandButton2 deze code
Code:
NewBook.SaveAs Filename:=(ThisWorkbook.Path & "\Maandtotalen" & "\" & "Dagproductie " & ComboBox1.Value & " " & TextBox1.Value & ".xlsx")
in
Code:
NewBook.SaveAs Filename:="I:\expeditie Holland\Dagplanning\Personeelsplanning\Dagproductie\Expeditie\ " _
& "Dagproductie " & ComboBox1.Value & " " & TextBox1.Value & ".xlsx"
En tenslotte in je code onder de Userform verander je onder CommandButton1 deze code
Code:
Set wbMASTER = Workbooks.Open(ThisWorkbook.Path & "\Maandtotalen" & "\" & ListBox1.Value)
in
Code:
Set wbMASTER = Workbooks.Open("I:\expeditie Holland\Dagplanning\Personeelsplanning\Dagproductie\Expeditie\" & ListBox1.Value)
Hopelijk is het nu wat duidelijker.
 
dit is precies wat ik zocht dankjewel! op het werk zijn ze er ook erg blij mee :)
:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan