У меня есть лист Excel, в котором выбрано несколько ячеек, которые не соседствуют друг с другом. Когда пользователь нажимает на кнопку, нам нужно прочитать все данные ячеек, обработать их и записать в другую ячейку.
Если ячейки расположены рядом друг с другом, я смог получить диапазон и выполнить операцию. Но если клетки не соседствуют друг с другом, я не могу получить диапазон.
Selection.Range всегда дает адрес последней выбранной ячейки.
Но нам нужно получить адреса всех ячеек, что я не могу сделать.
Пожалуйста, кто-нибудь может предложить мне способ справиться с этим сценарием.
Пример кода:
Range objRange = (Range) Globals.ThisAddIn.Application.Selection;
int nColCount = objRange.Columns.Count;
int nRowCount = objRange.Rows.Count;
Вини
Я пробовал этот код на основе вашего предложения,
Range objRange = (Range) Globals.ThisAddIn.Application.Selection;
foreach (Range cell in objRange)
{
MessageBox.Show("" + cell.Value2);
}
Но это не сработало. Всегда дает последнюю выбранную ячейку. Я выбрал ячейки А1, А4, А13, А16. Но этот код возвращает только значение ячейки A16.