Ga naar inhoud

Exel


pscheppers

Aanbevolen berichten

Graag hulp

Ik heb een exel formulier dat ik alle dagen moet invullen en daarna opslaan in een map "afgewerkte diensten". Deze map is onderverdeeld in de maanden van het jaar en deze mappen zijn onderverdeeld in de dagen van de maand. Op zich is het geen probleem om het exel formulier op te slaan, na een 3 of 4 klikken staat het exel formulier op de juiste plaats. Nu komt mijn vraag. Ik zou op dat exel formulier een  knop willen plaatsen wanneer ik daar op klik het exel formulier direct op de juiste plaats in de map "afgewerkte dienst" komt. BV ik vul op 15-1-2017 een formulier in en dan moet dat in de map "afgewerkte diensten" moet dat in de map 15-1-2017 komen te staan vul ik een formulier in op 2-2-2017 moet dat in de map 2-2-2017 staan.

grts

Link naar reactie
Delen op andere sites

  • Reacties 25
  • Aangemaakt
  • Laatste reactie

Beste reacties in dit topic

Beste reacties in dit topic

Geplaatste afbeeldingen

c:\Top\info\schouwing\schouwdiensten\afgewerkte diensten\maand\dag

 De mappen "afgewerkte diensten - maand- dag" zijn bestaande mappen. VB. op 10-1-2017 vul ik een formulier in en zou met 1 klik opgeslagen moeten worden in de map "afgewerkte diensten" in de juiste maand en op 10-1-2017. Vul ik een formulier in op 2-2-2017 dan zou dat opgeslagen moeten worden in de juiste maand en de juiste dag

En dat zou zo voor 365 dagen moeten zijn.

Patrick

Link naar reactie
Delen op andere sites

Test dit een uit.

 

Zet deze achter een drukknop

Met in A1 de maand en in A2 de dag, aanpassen aan je eigen behoefte.

 

If MsgBox("Wil je deze gegevens opslaan ?.", vbYesNo, "gegevens opslaan") = vbYes Then

    Sheets("bloeddruk").Activate

    ActiveSheet.ExportAsFixedFormat xlTypexlsx, "C:\Top\info\schouwing\schouwdiensten\afgewerkte diensten\"&Range("A1").Value&"\"&Range("A2").value

End If

Sheets("jou Bladnaam").Select

Range("jou Cel").Select

 

En deze in een Module

Function padnaam() As String

padnaam = ThisWorkbook.Path

End Function

 

Als je nu in een cel zet "=padnaam()" wordt het pad zichtbaar

Link naar reactie
Delen op andere sites

@ bucky

Voor zover ik weet is ExportAsFixedFormat enkel voor pdf of xps documenten (correct me if I'm wrong)

Vermijd Select, Activate, ActiveSheet in je code. In 99% van de gevallen is het overbodig en onnodig en zorgt het enkel voor vertraging en vervelende schermwisselingen.

Gebruik With...End With lussen in de plaats.

 

@ pscheppers

Plaats volgende code in een standaardmodule en link deze dan aan een knop.

Ik heb nu verkorte maandnamen gebruikt maar dit kan je aanpassen naar wens.

 

Sub tst()
    Application.CopyObjectsWithCells = False
    fname = "c:\Top\info\schouwing\schouwdiensten\afgewerkte diensten\" & _
        Choose(Month(Date), "Jan", "Feb", "Maa", "Apr", "Mei", "Jun", "Jul", "Aug", "Sept", "Okt", "Nov", "Dec") & "\" & _
        Format(Date, "dd-mm-yyyy") & "\" & "naam voor je formulier"
    Sheets("Naam van je formulierwerkblad").Copy
    With ActiveWorkbook
        .SaveAs fname, 51
        .Close True
    End With
    Application.CopyObjectsWithCells = True
End Sub

Link naar reactie
Delen op andere sites

@bakerman,

Ik ben geen VBA specialist, en gebruik de code inderdaad om mijn bestanden op te slaan als PDF bestand.

7 uren geleden, bakerman zei:

Vermijd Select, Activate, ActiveSheet in je code. In 99% van de gevallen is het overbodig en onnodig en zorgt het enkel voor vertraging en vervelende schermwisselingen.

Dit is mij ook bekend, maar voor zo'n korte code kan het volgens mij geen kwaad, en is het voor de leek ook begrijpelijk.

Maar elke verbetering is welkom, en deze leek leert er ook weer van:top: 

Bedankt,

bucky

 

Link naar reactie
Delen op andere sites


×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.