• 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 excel opslaan als .xlsb

Status
Niet open voor verdere reacties.

Limbabwe5

Nieuwe gebruiker
Lid geworden
9 dec 2020
Berichten
4
Hallo,

Ik ben nog niet zo lang bezig met vba, maar nu wil ik een bestand opslaan als .xlsb Hier had ik onderstaande macro voor gevonden en aangepast zoals ik het zou willen. de werking is goed, echter moet deze macro ook opslaan als .xlsb en dat doet deze niet. Ik had al diverse aanpassingen gedaan maar krijg het niet werkend. heeft iemand enig idee waar ik wat moet invoegen c.q. aanpassen ? de toevoeging xlsb achter value werkte bij een andere manier van opslaan wel. echter bij deze macro niet.

'opslaan
Dim strFilename As String

Dim strPath As String
strPath = "H:\DC B Echt\Voorraadbeheer\1. Locatie beheer\1. Reclame\03. Reclame aanvul"
strFilename = Environ$("Username") & "-" & Worksheets(1).Range("A1").Value & ".xlsb"
Set FD = Application.FileDialog(msoFileDialogSaveAs)
With FD
.InitialFileName = strPath & strFilename
.Show
.Execute
End With
 
Dit zou toch ook moeten werken?
Code:
    strPath = "H:\DC B Echt\Voorraadbeheer\1. Locatie beheer\1. Reclame\03. Reclame aanvul"
    strFilename = Environ$("Username") & "-" & Worksheets(1).Range("A1").Value & ".xlsb"
    ActiveWorkbook.SaveAs FileName:=strFilename, FileFormat:=xlExcel12, CreateBackup:=False
 
En als je eerst een map wilt uitzoeken, dan zo:
Code:
Sub TestXLSB()
Dim strFilename As String, strPath As String
    
    strFilename = Environ$("Username") & "-" & Worksheets(1).Range("A1").Value & ".xlsb"
    Application.DisplayAlerts = False
    With Application.FileDialog(msoFileDialogFolderPicker)
        .AllowMultiSelect = False
        .InitialFileName = ActiveWorkbook.Path
        If .Show <> 0 Then
            strPath = .SelectedItems(1) & IIf(Right(.SelectedItems(1), 1) <> "\", "\", "")
        End If
    End With
    ActiveWorkbook.SaveAs strPath & strFilename, FileFormat:=xlExcel12, CreateBackup:=False
    Application.DisplayAlerts = True

End Sub
 
@octafish

Dit doet niet helemaal wat mijn eerste opzet is. de map en naam is bekend waar het moet komen, echter moet er nog een keus gemaakt worden in welke jaar map het moet komen.
 
Laatst bewerkt:
Code:
Sub M_snb()
  ActiveWorkbook.SaveAs "G:\proef.xlsb", 50
End Sub
 
Ik heb de fout al gevonden. De macro koos geen type bestand omdat ik geen indexhad aangegeven. hieronder zoals het bestand nu werkend is.
Toch bedankt voor de informatie.

'opslaan
Dim strFilename As String

Dim strPath As String
strPath = "H:\DC B Echt\Voorraadbeheer\1. Locatie beheer\5. OP=OP\04. OPisOP4+"
strFilename = Environ$("Username") & "-" & Worksheets(2).Range("D1").Value
Set FD = Application.FileDialog(msoFileDialogSaveAs)
With FD
.FilterIndex = 3 'filter bepaald welk type gebruikt moet worden
.InitialFileName = strPath & strFilename
.Show
.Execute
End With
 
Gebruik svp code tags rondom VBA-code zoals hier:

Code:
Sub M_snb()
  with Application.FileDialog(2)
     .FilterIndex = 3 
     .InitialFileName = "H:\DC B Echt\Voorraadbeheer\1. Locatie beheer\5. OP=OP\04. OPisOP4+" & Environ$("Username") & "-" & sheets(2).Range("D1").Value
    If .Show then .Execute
  end with
End Sub

Vermijd overbodige variabelen.
Staat er wel een extensie (.xlsb) in cel D1 ?
 
Laatst bewerkt:
Gebruik svp code tags rondom VBA-code zoals hier:

Code:
Sub M_snb()
  with Application.FileDialog(2)
     .FilterIndex = 3 
     .InitialFileName = "H:\DC B Echt\Voorraadbeheer\1. Locatie beheer\5. OP=OP\04. OPisOP4+" & Environ$("Username") & "-" & sheets(2).Range("D1").Value
    If .Show then .Execute
  end with
End Sub

Vermijd overbodige variabelen.
Staat er wel een extensie (.xlsb) in cel D1 ?

Cel d1 is een tekst die in de naam moet komen te staan
 
SVP niet quoten/citern.

Dat was me al duidelijk, dat was mijn vraag niet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan