Try this
Sub ResetDropDowns()
Dim rngLists As Range
Dim ListCell As Range
Dim ws As Worksheet
Application.ScreenUpdating = False
For Each ws In ThisWorkbook.Worksheets
ws.Activate
On Error Resume Next
Set rngLists = ActiveSheet.UsedRange.SpecialCells(xlCellTypeAllValidation)
On Error GoTo 0
If Not rngLists Is Nothing Then
For Each ListCell In rngLists.Cells
If InStr(ListCell.Validation.Formula1, "!") > 0 Then
ListCell.Value = Sheets(Mid(Split(ListCell.Validation.Formula1, "!")(0), 2, Len(ListCell.Validation.Formula1))).Range(Split(Split(ListCell.Validation.Formula1, "!")(1), ":")(0)).Value
Else
ListCell.Value = Range(Trim(Mid(Replace(ListCell.Validation.Formula1, ":", String(99, " ")), 2, 99))).Value
End If
Next ListCell
End If
Set rngLists = Nothing
Next ws
Application.ScreenUpdating = True
End Sub
Bookmarks