I have a workbook with multiple sheets in it. One of the worksheet is extracting data from an ODBC datasource. I am trying to protect the datasource sheet from being updated by users. I have tried to hide or protect the sheet but it won't work because it would cause a runtime error in my macro which attempts to refresh the data in the datasource sheet. Even if I can get the protection to work, I would need to password protect the sheet so that none can turn the protection off. In another words, I need to include the password in the macro to unprotect it which still poses a security issue. Any better idea?