vba scipt gevraagd

Status
Niet open voor verdere reacties.

jan excel

Gebruiker
Lid geworden
4 mrt 2007
Berichten
437
Beste VBA experts,

Onderstaande pad worden de gegevens opgeslagen met behulp van een VBA script.

ActiveWorkbook.SaveAs Filename:="C:\efficiency\afdeling\test\" & Sheets(1).Range("D4")

Bestandsnaam wordt dus bepaald door wat in sheet(1) in cel d4 staat vermeld.

Nu zou ik ook graag zonder de VBA script te moeten aanpassen het pad willen veranderen.
Dit wil ik bereiken door in excel in een werkblad in een bepaalde cel het pad te vermelden.
(dit pad wordt natuurlijk wel eerst gecreëerd met windows verkenner)

Het VBA script dient dan deze pad automatisch uit een cel te halen en vervolgens de bestandsnaam hier in op te slaan.

Zie bijlage, dan wordt e.e.a. wel duidelijk.

Bekijk bijlage test(1).xlsm



Groet,
Jan
 
Je kunt ook de map gewoon met VBA maken.
Code:
Sub Knop1_Klikken()
    ActiveWorkbook.SaveAs Filename:=CreateFolder(Sheets("Blad2").Range("A1")) & Sheets("Blad1").Range("D4")
End Sub

Code:
Public Function CreateFolder(sFolder As String) As String
On Error GoTo ErrorHandler
Dim sF As String
    
    sF = Left(sFolder, InStrRev(sFolder, "\", Len(sFolder)) - 1)
    If Dir(sF, vbDirectory) = "" Then
      sF = CreateFolder(sF)
      MkDir sF
    End If
    CreateFolder = sFolder
    Exit Function
    
ErrorHandler:
    Exit Function
End Function
 
Hoi OctaFish,
bedankt voor je reactie.
Mooie VBA script en werkt.

Echter ik wil het toch simpel houden en met bestaande pad naam werken.

Hoe dient de code er dan uit te zien ?
 
Simpeler dan een code die zelf een mappenstructuur aanmaakt kan het volgens mij niet worden, maar hé, wie ben ik om de klant tegen te spreken? Als jij denkt dat je een map sneller met de hand kan aanmaken, dan moet je dat natuurlijk gewoon doen :). Ook de code wordt dan (feitelijk dezelfde zonder de functie) iets eenvoudiger:
Code:
ActiveWorkbook.SaveAs Filename:=Sheets("Blad2").Range("A1") & "\" & Sheets("Blad1").Range("D4")
Deze variant had je trouwens, gezien je oorspronkelijke code, toch ook zelf kunnen bedenken? :D
 
Octafish,

sorry voor late reactie maar toch bedankt.
De script voldoet, bij nader inzien toch de script gebruikt die automatisch de mappen aanmaakt.

groet,
Jan M
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan