If you protect the sheet in code, you can allow this:
Option Explicit
Sub auto_open()
With Worksheets("sheet1")
.Protect Password:="hi", userinterfaceonly:=True
.EnableAutoFilter = True
End With
End Sub
(The worksheet has to have the dropdown arrows already applied.)
It needs to be reset each time you open the workbook. (excel doesn't remember
it after closing the workbook.)
(you could use the workbook_open even under ThisWorkbook, too.)
If you're new to macros, you may want to read David McRitchie's intro at:
http://www.mvps.org/dmcritchie/excel/getstarted.htm