Sub blah()
With Sheets("Sheet1")
lr = .Cells(.Rows.Count, "A").End(xlUp).Row
For Each celle In .Range(.Cells(2, "C"), .Cells(2, .Columns.Count).End(xlToLeft)).Cells
If UCase(Trim(celle.Value)) = "ANSWERS" Then
For Each cll In .Range(celle.Offset(1), .Cells(lr, celle.Column)).Cells
With cll
.Validation.Delete
Set vrng = Range("Sheet2!$A1:$F1").Offset(cll.Row - 2)
Set vrng = vrng.Resize(, Application.CountA(vrng))
.Validation.Add Type:=xlValidateList, Formula1:="=" & Split(vrng.Address(False, True, , True), "]")(1) '"=Sheet2!$A2:$F2"
.Value = "Answer this Please"
End With
Next cll
End If
Next celle
End With
End Sub
Sub blah2()
With Sheets("Sheet1")
lr = .Cells(.Rows.Count, "A").End(xlUp).Row
For Each celle In .Range(.Cells(2, "C"), .Cells(2, .Columns.Count).End(xlToLeft)).Cells
If UCase(Trim(celle.Value)) = "ANSWERS" Then
For Each cll In .Range(celle.Offset(1), .Cells(lr, celle.Column)).Cells
zz = Split(cll.Validation.Formula1, "=")(1)
Set sss = Intersect(Range(zz), Range(zz).Offset(, 1))
cll.Value = sss.Cells(Application.RandBetween(1, Application.CountA(sss))).Value
Next cll
End If
Next celle
End With
End Sub