Как создать проверку из диапазона имен на другом листе в Excel, используя C #? - PullRequest
1 голос
/ 10 марта 2010

Я создал диапазон имен на листе «A», поэтому мне нужно использовать этот диапазон в качестве ComboBox для валидации на листе B. Я хочу знать, как я могу установить валидацию как диапазон, используя C #?

1 Ответ

2 голосов
/ 22 марта 2010

Листы не будут иметь значения, потому что вы просто будете ссылаться на именованный диапазон диапазона значений списка. Здесь вы идете ниже (предполагается, что 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);
}
...