• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

VBA voor opslaan sheet als werkboek

Status
Niet open voor verdere reacties.

resmatrix

Gebruiker
Lid geworden
6 nov 2006
Berichten
173
Goedemiddag

ik probeer met VBA een sheet als werkboek op te slaan. Dat lukt allemaal met deze code:
Code:
Sub Opslaan()
Dim strFileName As Variant
Dim strPath As String
strFileName = Range("AA6").Value & " " & Range("AB6").Value & " " & Range("AC6").Value & " " & "Dealsheet" & " " & Range("C2").Value
strPath = "D:\users\mijn\Desktop\data\Original\"
FixedFilePathName = "D:\users\mijn\Desktop\data\Original\" & Range("AA6").Value & " " & Range("AB6").Value & " " & Range("AC6").Value & " " & "data" & " " & Range("C2").Value
If strFileName = False Then
MsgBox "Oh oh... je hebt niet opgeslagen! "
Else
    ActiveSheet.Copy
    ActiveWorkbook.SaveAs FileName:=strFileName & OverwriteIfFileExist = True & ScreenUpdating = False
    MsgBox "Gelukt!  Opgeslagen als: " & strFileName
  End If
End Sub

nu wil ik graag 2 dingen waarvan ik echt niet weet hoe:
1 het nieuw opgeslagen document blijft open staan. maar ik zou graag willen dat dit niet open is maar alleen opgeslagen zou worden
2 het bestand nieuwe bestand altijd zal worden opgeslagen als .xlsm

ik hoop dat iemand kan helpen
 
Zoiets

Code:
Sub Opslaan()
  ActiveSheet.Copy
  With ActiveWorkbook
    .SaveAs Range("AA6").Value & " " & Range("AB6").Value & " " & Range("AC6").Value & " " & "Dealsheet" & " " & Range("C2").Value & .xlsm, 52
    .Close 0
  End With
End Sub
 
Code:
Sub Opslaan()
  ActiveSheet.Copy
  with ActiveWorkbook.SaveAs join(array(Range("AA6").Value,Range("AB6").Value,Range("AC6").Value,"Dealsheet",Range("C2").Value)) & .xlsm, 52
    .Close 0
  End With
End Sub
 
dank voor de reactie maar of ik doe iets fout of de aanpassing klopt niet geheel

ik krijg een compileerfout ?:eek:?
 
Maak er dit van:
Code:
Sub Opslaan()
  ActiveSheet.Copy
  With ActiveWorkbook
    .SaveAs Join(Array(strPath, Range("AA6").Value, Range("AB6").Value, Range("AC6").Value, "Dealsheet", Range("C2").Value, ".xlsm")), 52
    .Close 0
  End With
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan