I am having trouble running the following code. Basically I am trying to run a macro that applies data validation and circles the errors across worksheets. I dont want this across all worksheets, only across those I select or define (preferably select by grouping them. Can anyone tell what I am doing wrong??

Sub data_validation_names()
'
' data_validation_names Macro
'
' Keyboard Shortcut: Ctrl+p
'

Dim mySelectedSheets As Sheets
Dim wks As Worksheet
Application.ScreenUpdating = False

Set mySelectedSheets = ActiveWindow.SelectedSheets

For Each wks In mySelectedSheets
wks.Activate

With wks
Range("C6:C31").Select
ActiveWindow.SmallScroll Down:=-18
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="='Singers summary'!$b$2:$b$189"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Range("A6:A25").Select
ActiveWindow.SmallScroll Down:=-39
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="='Singers summary'!$A$2:$A$189"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
ActiveSheet.CircleInvalid
Next wks
Application.ScreenUpdating = True
Set mySelectedSheets = Nothing

End Sub