Hay que ocultar la hoja como VeryHidden
Te anexo el código para exportar a pdf
Private Sub CommandButton2_Click()
'Exporta
'MsgBox "RECUERDE: Solo un PDF a la vez"
If h1.AutoFilterMode Then ActiveSheet.AutoFilterMode = False
u = h1.Range("F" & Rows.Count).End(xlUp).Row
f1 = Format(ComboBox1.Value, "mm/dd/yyyy")
If ComboBox2.Value = "" Then
f2 = f1
Else
f2 = Format(ComboBox2.Value, "mm/dd/yyyy")
End If
'
ruta = ThisWorkbook.Path & "\"
arch = "BitacoraMantencion"
prefijo = ""
ver = ""
ext = ".pdf"
una = True
Do While True
If Dir(ruta & arch & prefijo & ver & ext) <> "" Then
prefijo = "_v"
If una Then
ver = 1
una = False
Else
ver = ver + 1
End If
Else
Exit Do
End If
Loop
'
If ComboBox1 <> "" Then
h1.Range("$A$2:$H$" & u).AutoFilter Field:=5, Criteria1:= _
">=" & f1, Operator:=xlAnd, Criteria2:="<=" & f2
End If
If ComboBox3 <> "" Then
h1.Range("$A$2:$H$" & u).AutoFilter Field:=1, Criteria1:= _
"=" & ComboBox3
End If
Application.ScreenUpdating = False
h1.Visible = True
h1.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ruta & arch & prefijo & ver & ext, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
h1.Visible = False
If h1.AutoFilterMode Then ActiveSheet.AutoFilterMode = False
Application.ScreenUpdating = True
End Sub
Para que no entren a VBA y cambien el estado de la hoja, puedes poner un password para VBA, entra a VBA, Herramientas, Propiedades de VBAProject, Protección, marcas la casilla de Bloquear y ahí escribes la contraseña y confirmas la contraseña.
Sal u dos