Okay, I persisted with that general advice and changed "Sh.Name" to "Sh.CodeName"; but after the equals, I still had to have "Sheet6" in quotes.
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
On Error Resume Next
If Sh.CodeName = "Sheet6" Then
MsgBox "Do not edit. Data refreshes from linked dataset."
End If
End Sub
Your reference to "sheet code name" gave me everything I needed to find the rest on Google 
Edit: I'd give you more reputation, but the forum says I give it to you too much and have to give it to others first... Sorry!
Bookmarks