如何使用C#在excel中的另一个工作表上创建名称范围的验证?

时间:2010-03-10 04:48:24

标签: c# excel export-to-excel

我在工作表“A”上创建了名称范围,所以我需要在工作表B上使用此范围作为验证ComboBox。我想知道如何使用C#将验证设置为范围?

1 个答案:

答案 0 :(得分:2)

工作表无关紧要,因为您只需引用列表值范围的命名范围。您可以在下面(假设Interop) - listValidatingRange是您需要在下拉列表中显示您的值的地方 - 将其添加为命名范围。 cellThatNeedsValidating是您希望下拉列表出现的单元格 - 将其添加为命名范围。然后,在cellThatNeedsValidating上,将验证添加为"=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);
}