Thanks heaps. Works well.
Found one thing though. I can't assign the name to the
range using
VB 'Names.add Name:=" ", Refers
To:= "Contractors!$A$1:" & lastadddress ' as it takes the
value in the first cell in the range 'Refers to' as the
name of the range even though a name is assigned to
the 'name' value. I was hoping to assign the name to a
range which could vary in length.
-----Original Message-----
David
one way:
Sub AddValidation()
' assumes validation list is named as ValidList
' ValidList: =Contractors!$A$1:$A$20
'
With Range("R4").Validation
.Delete
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
Formula1:="=ValidList"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Regards
Trevor
"David Coates"
wrote in message
...
I want to addd validation to cells on a spreadsheet
using
VBA. I am setting up the spreadsheet with data and
formating using VBA, and want to addd validation to a
column during this process. The data for the list is
on a
worksheet called "Contractors", and the validation cell
is
R4 on whatever sheet is active at the time of running
the
code. I have tried the following code:
For l = 1 To 20
Worksheets("Contractors").Select
Cells(l, 1).Select
contract = ActiveCell.Value
list(l) = contract
Next l
Worksheets(shtname).Select
test = list(1)
For l = 2 To 20
test1 = list(l)
test = test & "," & test1
Next l
With Range("R4").Validation
.Add Type:=xlValidateList, Formula1:=test
I get an error message saying "Application-defined or
object-defined error".
The range containing the data which is A1:A20, is also
named, but using the name doesn't help either.
Any help would be great.
Regards
David C
.