• 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.

Excelbestand opslaan als, ander excel bestand openen, eerste bestand sluiten

Status
Niet open voor verdere reacties.

zipje2007

Gebruiker
Lid geworden
17 jan 2008
Berichten
30
Wie kan me even helpen met het volgende? De macro parkeren, stelt gebruikers in de gelegenheid hun werk tussentijds op te slaan. Het bestand krijgt een vooraf vastgestelde naam, die naam is deels variabel (cel waarde) en wordt weggeschreven naar een vastgestelde map op SharePoint.

Nadat het bestand is geparkeerd door de gebruiker wil ik graag
1. een ander Excel bestand openen.
2. het eerste Excel bestand sluiten.

Ik kom er niet uit, omdat de naam van het eerste Excel bestand deels variabel is. Bestaat er zoiets als een "previous file" commando?

De omgekeerde volgorde mag wat mij betreft ook, dus:
1. het Excel bestand sluiten
2. een ander Excel bestand openen.

Dan loop ik vast. De macro lijkt niet de werken als er geen workbook actief is.

Hieronder de macro tot nog toe. Tips worden gewaardeerd.

Sub Parkeren()
Dim bestand As String
Dim docnr As String
Sheets("Invoercontrole").Select
docnr = Range("C4").Value
Sheets("Overeenkomst").Select
bestand = "Blabla - " & docnr
ActiveWorkbook.SaveAs Filename:= _
"https://.../Tussentijds opgeslagen" & bestand, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Beep
MsgBox "Het bestand is opgeslagen in de map Tussentijds Opgeslagen" & vbNewLine & "als: " & bestand, vbExclamation, "Mededeling"
Workbooks. Open Filename:="https://...\Start.xlsm"
End Sub
 
Met ThisWorkbook.Close wordt het werkblad met de code afgesloten.
Wel uiteraard eerst het andere werkblad openen.
Code:
Sub Parkeren()
' Rest van code (kan overigens een stuk korter)

Workbooks.Open Filename:="https://...\Start.xlsm"
ThisWorkbook.Close True 'Bestand met code wordt opgeslagen en afgesloten.
 End Sub

Met vriendelijke groet,


Roncancio
 
Dankjewel Roncancio, probleem opgelost.
Als je nog tijd hebt hoor ik nog graag hoe ik de code korter kan maken. Daar leer ik weer van.
 
Code:
Sub Parkeren()

ActiveWorkbook.SaveAs "https://.../Tussentijds opgeslagen" & "Blabla - " & Sheets("Invoercontrole").Range("C4").Value, xlOpenXMLWorkbookMacroEnabled
' Beep
' MsgBox "Het bestand is opgeslagen in de map Tussentijds Opgeslagen" & vbNewLine & "als: " & Sheets("Invoercontrole").Range("C4").Value, vbExclamation, "Mededeling"
Workbooks.Open Filename:="https://...\Start.xlsm"
ThisWorkbook.Close True
End Sub
Ik zou gebruikers niet lastig vallen met allerlei meldingen.

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan