Bestand opslaan bepalen vanuit een cel

Status
Niet open voor verdere reacties.

Roma

Gebruiker
Lid geworden
7 sep 2013
Berichten
515
Beste forumleden,
Met dank aan Edmoor heb ik een fantastische werke code.
nu is de vraag of het opslaan "C:\Voorbeeld\Jaar\" ook kunt kiezen via een cel zodat de gebruiker zelf de locatie kan bepalen waar het bestand opgeslagen moet worden
Bestaat hier een code voor?
alvast bedankt

Code:
Public Sub CommandButton25_Click()
     With Sheets("Blad2")
     .Visible = True
                Fname = "C:\Voorbeeld\Jaar\" & .Range("E1") & .Range("G1") & .Range("H1") & ".pdf"
          .Range("A1:I203").ExportAsFixedFormat 0, Fname
   ''  .Range("A6:I203").ClearContents
     .Visible = False
          End With
          Application.ScreenUpdating = True
End Sub
 
Even voor de goede orde. Zoals de code is die je plaatste heb ik het niet geleverd en mist er zelfs een regel.
 
Beste edmoor,
dat klopt dit is de juiste code:
Code:
Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    With Sheets("Blad1")
        .Visible = True
        Fname = "C:\Test\Jaar\" & .Range("E1") & .Range("G1") & .Range("H1") & ".pdf"
        .Range("A1:H18").ExportAsFixedFormat 0, Fname
        .Range("A2:H18").ClearContents
        .Visible = False
    End With
    Application.ScreenUpdating = True
End Sub

had niet alles meegekopieerd.
 
Een antwoord op je vraag heb ik ook wel maar een voorbeeld zal even tot vanavond moeten wachten, tenzij iemand anders me voor is.
 
Zoek in de tussentijd eens rond in de zoekfunktie van dit forum of in de hulpbestanden van de VBEditor of neem eens een macro op.
 
Probeer deze maar eens:
Code:
Private Sub CommandButton1_Click()
    
    With Application.FileDialog(msoFileDialogFolderPicker)
        .AllowMultiSelect = False
        .Show
        fname = .SelectedItems(1)
    End With
    
    Application.ScreenUpdating = False
    With Sheets("Blad1")
        .Visible = True
        .Range("A1:H18").ExportAsFixedFormat 0, fname  & "\" & .Range("E1") & .Range("G1") & .Range("H1") & ".pdf"
        .Range("A2:H18").ClearContents
        .Visible = False
    End With
    Application.ScreenUpdating = True
    
End Sub
 
Laatst bewerkt:
Beste Edmoor,
Deze code werkt perfect. SUPER.
is het ook mogelijk de bestandslocatie te kiezen in een bepaalde cel
 
Tuurlijk. Als je de locatie in een bepaalde cel zet kun je die met de Range opdracht ophalen, net zoals je de gegevens voor de bestandsnaam nu ophaalt.
 
Edmoor,
waar moet ik de range neerzetten tabbladnaam en cel
 
Als je de locatie in A1 van Blad1 zet gebruik je het zo in de code. Deze regel:
Code:
.Range("A1:H18").ExportAsFixedFormat 0, fname & "\" & .Range("E1") & .Range("G1") & .Range("H1") & ".pdf"

Wijzig je dan in:
Code:
.Range("A1:H18").ExportAsFixedFormat 0, .Range("A1") & "\" & .Range("E1") & .Range("G1") & .Range("H1") & ".pdf"

In Blad1 in cel A1 zet je dan:
C:\Test\Jaar

Uiteraard kun je dit er dan weer uit halen:
Code:
    With Application.FileDialog(msoFileDialogFolderPicker)
        .AllowMultiSelect = False
        .Show
        fname = .SelectedItems(1)
    End With
 
Laatst bewerkt:
Edmoor,
Duidelijke uitleg ik heb alles uitgevoerd maar doet niets
 
Dan heb je het toch ergens niet goed gedaan. Om speculatie te voorkomen kun je beter je document hier even plaatsen.
 
:thumb:Volgens mij kan ik beter bij jou les gaan nemen
 
Dat doe ik ook maar is toch een ietsje duurder dan hier ;)
 
Je maakt dezelfde fout als in je eerste bericht. Er staat in A1 de waarde E:RON en dat zou dan E:\RON moeten zijn.
Ook moet dan op schijf E: de map RON bestaan.
 
Geeft een foutmelding: False (ongeldige buiten procedure)
 
Kijk je code eens goed na. Deze begint niet met Private Sub CommandButton1_Click() en heeft wel een End Sub.
Je code staat dus niet op de juiste plek.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan