J'ai créé une plage de noms sur la feuille "A", donc j'ai besoin d'utiliser cette plage comme validation ComboBox sur la feuille B. Je veux savoir comment est-ce que je peux définir la valeur en C#?Comment créer une validation à partir de la plage de noms d'une autre feuille de calcul dans Excel en utilisant C#?
Répondre
Les feuilles n'auront pas d'importance car vous référencerez simplement la plage nommée de la plage de valeurs de la liste. Ici vous allez ci-dessous (suppose Interop) - listValidatingRange
est l'endroit où vous avez vos valeurs à afficher dans la liste déroulante - ajoutez-le comme une plage nommée. cellThatNeedsValidating
est la cellule dans laquelle vous souhaitez que la liste déroulante apparaisse - ajoutez-la en tant que plage nommée. Ensuite, sur cellThatNeedsValidating
, ajoutez la validation à celle de "=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);
}
C'est du travail, mais j'ai besoin de 4 heures avant d'accepter cela comme réponse correcte. En outre, j'ai une autre question de relation ici http://stackoverflow.com/questions/2497531/how-to-create-validation-range-from-value-that-input-by-user – Anonymous
Super pour entendre ça fonctionne. Regardera l'autre question maintenant. –
Vous voulez savoir comment par programme? si c'est le cas, de quelles parties avez-vous besoin d'aide (création de la plage, définition de la valeur de validation, ou ...). Ou vous voulez juste savoir comment le faire manuellement? –
Je veux savoir comment définir la validation en tant que plage en utilisant C#. – Anonymous
gotcha. S'il vous plaît voir ci-dessous. –