Как насчет следующего, он будет циклически проходить по вашим рабочим листам и, если они видны, он будет скрывать их, а если скрыт, то отображать их, затем сохранять рабочую книгу и возвращаться обратно, чтобы отобразить соответствующие рабочие листы:
Sub Generate_matriz()
Dim ws As Worksheet
Dim wb As Workbook: Set wb = ThisWorkbook
Application.DisplayAlerts = False
Application.ScreenUpdating = False
fecha = Format(Now, "ddmmyyyy")
Export = fecha & "_matriz_sovio"
FileSelected = Application.GetSaveAsFilename(InitialFileName:=Export, _
FileFilter:="Excel Files (*.xlxs), *.xlxs", Title:="Save Excel as")
If FileSelected = False Then Exit Sub
For Each ws In wb.Worksheets
If ws.Visible = xlSheetHidden Or ws.Visible = xlSheetVeryHidden Then
ws.Visible = xlSheetVisible
Else
ws.Visible = xlSheetVeryHidden
End If
Next ws
ThisWorkbook.SaveAs Filename:=FileSelected _
, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
MsgBox ("It was successfully recorded : " & FileSelected), vbInformation, "SOVIO"
For Each ws In wb.Worksheets
If ws.Visible = xlSheetHidden Or ws.Visible = xlSheetVeryHidden Then
ws.Visible = xlSheetVisible
Else
ws.Visible = xlSheetVeryHidden
End If
Next ws
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub