View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
David Coates David Coates is offline
external usenet poster
 
Posts: 5
Default Validation using VBA

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




.