Come creare la convalida da intervallo di nomi su un altro foglio di lavoro in Excel utilizzando C #?

StackOverflow https://stackoverflow.com/questions/2414591

  •  19-09-2019
  •  | 
  •  

Domanda

Ho creare gamma nome sul foglio di "A" quindi ho bisogno di usare questa gamma come ComboBox convalida sul foglio B. Voglio sapere la convalida come posso impostare come intervallo utilizzando C #?

È stato utile?

Soluzione

I fogli non importa, perché ti basta riferimento l'intervallo denominato del campo di valori lista. Qui si va al di sotto (presuppone Interop) - listValidatingRange è dove si hanno i valori che devono essere visualizzati nel menu a tendina - aggiungere che, come un intervallo denominato. cellThatNeedsValidating è la cella che si desidera che la discesa ad apparire in - aggiungere che, come un intervallo denominato. Poi, il cellThatNeedsValidating, aggiungere la convalida essere quello di "=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);
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top