I have create name range on sheet "A" so I need to use this range as validation ComboBox on sheet B. I want to know how can I setting validation as range using C#?
-
You want to know how to this programmatically? if so, what parts of this do you need help with (creating the range; setting the validation as the range, or...). Or you just want to know how to do it manually?Todd Main– Todd Main2010-03-22 08:38:40 +00:00Commented Mar 22, 2010 at 8:38
-
I want to know how to setting validation as range using C#.Anonymous– Anonymous2010-03-22 09:28:49 +00:00Commented Mar 22, 2010 at 9:28
Add a comment
|
1 Answer
The sheets won't matter because you'll just reference the named range of the list value range. Here you go below (assumes Interop) - listValidatingRange is where you have your values that need to be displayed in the dropdown - add that as a named range. cellThatNeedsValidating is the cell that you want the drop-down to appear in - add that as a named range. Then, on cellThatNeedsValidating, add the validation to be that of "=ListValidatingRange".
private void SetValidation()
{
Microsoft.Office.Tools.Excel.NamedRange listValidatingRange =
this.Controls.AddNamedRange(this.Range[""C1:C13"", missing],
"ListValidatingRange");
Microsoft.Office.Tools.Excel.NamedRange cellThatNeedsValidating =
this.Controls.AddNamedRange(this.Range[""A1"", missing],
"cellThatNeedsValidating");
cellThatNeedsValidating.Validation.Add(
Excel.XlDVType.xlValidateList ,
Excel.XlDVAlertStyle.xlValidAlertStop,
missing, "=ListValidatingRange", missing);
}
1 Comment
Anonymous
It's work, however I need 4 hours before accept this as correct answer. Furthermore I have another relate question here stackoverflow.com/questions/2497531/…