Beste allen,
Ik heb een macro in VBA excel gemaakt, en die werkt perfect op mijn mini laptop. Echter wanneer ik alles kopieer naar een andere pc werkt het niet. Het probleem zit hem dat op een andere pc de macro het juiste pad niet vindt. Ik heb al geprobeerd met ThisWorkbook.Path & "\ maar blijft tegen problemen botsen... (MkDir, enz, enz ...)
De macro doet het volgende:
op de excel "Begin" staan 4 cellen die moeten gekopieerd worden naar een sjabloon "notitieblad" (c3 klantnaam, c5 datum, c7 werfnummer, b2 volgnummer). Eerst wordt gekeken of er een map bestaat met de naam van de klant (c3) in de map klanten. indien nodig wordt deze map gemaakt. Daarna worden de 4 cellen gekopieerd.
Zo ziet de macro eruit:
Sub NOTITIEBLAD()
Dim fs As Object 'Eerst kijken of de schijf en map bestaat
Set fs = CreateObject("Scripting.FileSystemObject")
If Not fs.folderexists("C:\USERS\laure\Documents\opmetingen servio\klanten" & Range("c3")) Then
'Maak een map
MkDir "C:\USERS\laure\Documents\opmetingen servio\klanten" & Range("c3")
End If
Range("C3").Select
Selection.Copy
Workbooks.Open Filename:= _
"c:\users\laure\DocumentS\opmetingen servio\opmetingsfiches sjablonen\NOTITIEBLAD.xltm" _
, Editable:=True
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'kopieer naam naar sjabloon
Windows("begin.xlsm").Activate
Range("C5").Select
Application.CutCopyMode = False
Selection.Copy
Windows("NOTITIEBLAD.xltm").Activate
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'kopieer datum naar sjabloon
Windows("begin.xlsm").Activate
Range("C7").Select
Application.CutCopyMode = False
Selection.Copy
Windows("NOTITIEBLAD.xltm").Activate
Range("B4").Select
'kopieer werfnummer naar sjabloon
ActiveSheet.Paste
Range("B2").Select
Application.CutCopyMode = False
Selection.Copy
Application.CutCopyMode = False
ChDir "C:\USERS\laure\DocumentS\opmetingen servio\klanten" & Range("B2").Value
ActiveWorkbook.SaveAs Filename:= _
"C:\USERS\laure\DocumentS\opmetingen servio\klanten" & Range("B2").Value & "" & Range("B5").Value & ".xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub
Alvast bedankt aan de gene die mij kan helpen om de macro op elke computer werkend te maken!!
Laurent
Ik heb een macro in VBA excel gemaakt, en die werkt perfect op mijn mini laptop. Echter wanneer ik alles kopieer naar een andere pc werkt het niet. Het probleem zit hem dat op een andere pc de macro het juiste pad niet vindt. Ik heb al geprobeerd met ThisWorkbook.Path & "\ maar blijft tegen problemen botsen... (MkDir, enz, enz ...)
De macro doet het volgende:
op de excel "Begin" staan 4 cellen die moeten gekopieerd worden naar een sjabloon "notitieblad" (c3 klantnaam, c5 datum, c7 werfnummer, b2 volgnummer). Eerst wordt gekeken of er een map bestaat met de naam van de klant (c3) in de map klanten. indien nodig wordt deze map gemaakt. Daarna worden de 4 cellen gekopieerd.
Zo ziet de macro eruit:
Sub NOTITIEBLAD()
Dim fs As Object 'Eerst kijken of de schijf en map bestaat
Set fs = CreateObject("Scripting.FileSystemObject")
If Not fs.folderexists("C:\USERS\laure\Documents\opmetingen servio\klanten" & Range("c3")) Then
'Maak een map
MkDir "C:\USERS\laure\Documents\opmetingen servio\klanten" & Range("c3")
End If
Range("C3").Select
Selection.Copy
Workbooks.Open Filename:= _
"c:\users\laure\DocumentS\opmetingen servio\opmetingsfiches sjablonen\NOTITIEBLAD.xltm" _
, Editable:=True
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'kopieer naam naar sjabloon
Windows("begin.xlsm").Activate
Range("C5").Select
Application.CutCopyMode = False
Selection.Copy
Windows("NOTITIEBLAD.xltm").Activate
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'kopieer datum naar sjabloon
Windows("begin.xlsm").Activate
Range("C7").Select
Application.CutCopyMode = False
Selection.Copy
Windows("NOTITIEBLAD.xltm").Activate
Range("B4").Select
'kopieer werfnummer naar sjabloon
ActiveSheet.Paste
Range("B2").Select
Application.CutCopyMode = False
Selection.Copy
Application.CutCopyMode = False
ChDir "C:\USERS\laure\DocumentS\opmetingen servio\klanten" & Range("B2").Value
ActiveWorkbook.SaveAs Filename:= _
"C:\USERS\laure\DocumentS\opmetingen servio\klanten" & Range("B2").Value & "" & Range("B5").Value & ".xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub
Alvast bedankt aan de gene die mij kan helpen om de macro op elke computer werkend te maken!!
Laurent