Bekijk de onderstaande video om te zien hoe je onze site als een web app op je startscherm installeert.
Opmerking: Deze functie is mogelijk niet beschikbaar in sommige browsers.
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.
Hoe ziet een macro eruit wanneer ik een gehele map of ThisWorkbook wil opslaan?
Sub OpslaanAls()
'
' OpslaanAls Macro
ChDir "E:\Data\MS-excel\Rogier"
ActiveWorkbook.SaveAs Filename:="E:\Data\MS-excel\Rogier\test.xls", _
FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
Het actieve bestand moet met een macro worden opgeslagen onder een andere naam.Je haalt vanalles door elkaar.
Wat moet er opgeslaan worden? Het actieve bestand? Het bestand met de "opslaan" code in? Nog iets anders...?
Dat doe je dan met GetSaveAsFilename.
Application.Dialogs(xlDialogSaveAs).Show
Sub Berekeningsblad_bewaren()
Dim filenaam As String
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
filenaam = ActiveSheet.[C2].Value & ".xls"
[A1:J44].Copy
Workbooks.Add
Selection.PasteSpecial xlPasteValues, xlNone, False, False
Selection.PasteSpecial xlPasteFormats, xlNone, False, False
[A1].Select
'alle sheets verwijderen behalve het eerste
For Each Sh In Worksheets
If Sh.Index > 1 Then
Sh.Delete
End If
Next
With ActiveWorkbook
[COLOR="Red"]Application.Dialogs(xlDialogSaveAs).Show[/COLOR]
End With
With Application
.DisplayAlerts = True
.ScreenUpdating = True
End With
[A1].Select
MsgBox "File is opgeslagen"
End Sub
Ik krijg dan deze foutmelding Daniël: Microsoft Visual Basic 400
Sub Berekeningsblad_bewaren()
Dim filenaam As String
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
filenaam = ActiveSheet.[C2].Value & ".xls"
[A1:J44].Copy
Workbooks.Add
Selection.PasteSpecial xlPasteValues, xlNone, False, False
Selection.PasteSpecial xlPasteFormats, xlNone, False, False
[A1].Select
'alle sheets verwijderen behalve het eerste
For Each Sh In Worksheets
If Sh.Index > 1 Then
Sh.Delete
End If
Next
With ActiveWorkbook
.Application.Dialogs(xlDialogSaveAs).Show
.Close
End With
With Application
.DisplayAlerts = True
.ScreenUpdating = True
End With
[A1].Select
MsgBox "File is opgeslagen"
End Sub
Voor de duidelijkheid:IK heb het zonet getest ( wel een klant gekozen ) en het werkt bij mij .
Voor de duidelijkheid:
De calculatiesheet heeft betrekking op een te bouwen hal met meerdere componenten, dus ook meerdere sheets.
Ik zal het bestand even bijvoegen,
Sub sla_op()
With activesheet
Application.Dialogs(xlDialogSaveAs).Show
End With
End Sub
Sub Copy_ActiveSheet()
Dim wb As Workbook
Application.ScreenUpdating = False
activesheet.Copy
Set wb = ActiveWorkbook
With wb
.Application.Dialogs(xlDialogSaveAs).Show
.Close False
End With
Application.ScreenUpdating = True
End Sub
Bij deze enkel het active blad dat open staat zal hij apart opslaan]
Doe ook eens Ctrl t en kijk wat ik heb bijgevoegd !
Ik heb je validatie lijst ook aangepast nu kan je op zijn minst een fout(je) rechtzetten . stel je hebt een profiel teveel gekozen hoe ging jij dat verwijderen in je A kolom ? nu kanje een lege cel selecteren
Geniaal Daniël, het werkt als een speer.
Dat foutje snap ik: een lege validatiecel.
Ik snap alleen niet waarom ik Ctrl/T moet doen.
OK, dat snap ik wel. Een aardigheidje dus.Het is Ctrl ( kleine ) t , dankomt er een userform tevoorschijn daar kan je eentabblad selecteren en ................
OK, dat snap ik wel. Een aardigheidje dus.
Ik kan toch ook onderaan op de TAB klikken?
Inderdaad Daniël, nu snap ik het nut van jouw tip.Idd dat kan je ook , maar als er daar 30 tabbladen komen te staan gaat het vlugger via het userform , het is een gratis tooltje![]()
We gebruiken essentiële cookies om deze site te laten werken, en optionele cookies om de ervaring te verbeteren.