Beste forumlezers,
Ik heb een vba code waar ik mijn excel sheet mee opsla als pdf. Deze macro regelt ook de directory op de desktop zodat het altijd op de desktop wordt opgeslagen in een map "Factuur-2019". Dit gaat prima en wil ik ook zo houden. Nu wil ik dit excel workbook als geheel ook nog opgeslagen hebben als "xlsm" file (vanwege de macro's) op dezelfde plek als waar de pdf's worden opgeslagen (desktop\Factuur-2019).
Ik heb al diverse pogingen gedaan maar mijn vba kennis is nihil, ik doe veel knip & plak van uit internet, dus ik hoop dat iemand mij hiermee kan helpen.
Onderstaande code werkt voor het pdf maken maar nog niet voor xlsm. Ik weet dat het probleem zit in het blauwe gedeelte maar krijg het niet opgelost. De drie sheets die bewaard moeten worden heten "Factuur", "Relaties" en "Invoer".
Mvgr,
FvdF
Ik heb een vba code waar ik mijn excel sheet mee opsla als pdf. Deze macro regelt ook de directory op de desktop zodat het altijd op de desktop wordt opgeslagen in een map "Factuur-2019". Dit gaat prima en wil ik ook zo houden. Nu wil ik dit excel workbook als geheel ook nog opgeslagen hebben als "xlsm" file (vanwege de macro's) op dezelfde plek als waar de pdf's worden opgeslagen (desktop\Factuur-2019).
Ik heb al diverse pogingen gedaan maar mijn vba kennis is nihil, ik doe veel knip & plak van uit internet, dus ik hoop dat iemand mij hiermee kan helpen.
Onderstaande code werkt voor het pdf maken maar nog niet voor xlsm. Ik weet dat het probleem zit in het blauwe gedeelte maar krijg het niet opgelost. De drie sheets die bewaard moeten worden heten "Factuur", "Relaties" en "Invoer".
Mvgr,
FvdF
Code:
[I]Sub SaveAsXLSM()
Dim FolderPath As String
Dim Fname As String
Dim ws As Worksheet
Fname = Range("C13") & "_" & Range("B3")
FolderPath = Application.ActiveWorkbook.Path
If Right(FolderPath, 1) <> "/" Then
FolderPath = FolderPath & "/"
End If
Dim jaar As Integer
jaar = Sheets("Invoer").Range("C5").Value
FolderPath = FolderPath & "Facturen-" & jaar
If Dir(FolderPath, vbDirectory) = vbNullString Then
MkDir FolderPath
End If
i = 1
If isEmpty(Range("C13")) Then
xlsmname = "Factuur"
Else
xlsmname = Range("C13") & "_" & Range("B3")
End If
If Dir(FolderPath & "/" & xlsmname & ".xlsm") <> "" Then
Do While Dir(FolderPath & "/" & xlsmname & ".xlsm") <> ""
If isEmpty(Range("C13")) Then
xlsmname = "Factuur " & " (" & i & ")"
Else
xlsmname = Range("C13") & "_" & Range("B3") & " (" & i & ")"
End If
i = i + 1
If i = 100 Then
Exit Do
End If
Loop
End If
Sheets(Array("Factuur", "Relaties", "Invoer")).Copy
For Each ws In ActiveWorkbook.Worksheets
With ws.UsedRange
End With
Next ws
With ActiveWorkbook
[COLOR="#0000FF"] ActiveSheet.Range("B2:G54").ExportAsFixedFormat Type:=xlTypexlsm, FileName:=FolderPath & "/" & xlsmname & ".xlsm", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True[/COLOR]
End With
Exit Sub
End Sub[/I]
Laatst bewerkt: