|
Чтение данных из Excel |
☑ |
0
LisaAlisa
05.06.17
✎
18:20
|
В файле 2 колонки. В первой ячейки объединены по 2 по вертикали, во второй - разбиты. Получается, что одной ячейке первой колонки соответствует 2 ячейки второй колонки.
Считываю значения следующим образом.
Для К = НачСтрока+1 По КонСтрока Цикл
Если СокрЛП(СокрЛП(ЛистExcel.Cells(К,НачКолонка).Value)) <> СокрЛП(Объект.Подразделение)Тогда
Продолжить;
КонецЕсли;
НовСтрока = ТЧданныеФайла.Добавить();
Для Л = НачКолонка По КонКолонка Цикл
Значение = СокрЛП(ЛистExcel.Cells(К,Л).Value);
КонецЦикла;
КонецЦикла;
При этом возникает проблема. В первой колонке берется значение из объединенной ячейки, во второй колонке берется только из верхней ячейки, вторая остается несчитанной. Как получить значение и из второй ячейки второй колонки?
|
|
1
Heckfy
05.06.17
✎
18:31
|
Для К = НачСтрока+1 По КонСтрока Цикл
Если СокрЛП(СокрЛП(ЛистExcel.Cells(К,НачКолонка).Value)) <> СокрЛП(Объект.Подразделение)Тогда
Продолжить;
КонецЕсли;
НовСтрока = ТЧданныеФайла.Добавить();
М=К+1;
// Для Л = НачКолонка По КонКолонка Цикл
Значение1 = СокрЛП(ЛистExcel.Cells(К,1).Value);
Значение2 = СокрЛП(ЛистExcel.Cells(М,1).Value);
// КонецЦикла;
КонецЦикла;
Так не? :)
|
|
2
Heckfy
05.06.17
✎
18:31
|
Значение2 = СокрЛП(ЛистExcel.Cells(М,2).Value);
|
|
3
LisaAlisa
05.06.17
✎
18:57
|
(1) для упрощения примера я написала, что обьединенная ячейка состоит из двух. На деле количество ячеек в одной может быть разным
|
|
4
Vaflya
05.06.17
✎
20:20
|
Я бы сказал, что запросом будет нормально
|
|
5
Franchiser
гуру
06.06.17
✎
00:13
|
ActiveCell.MergeArea.Cells.Count
Или
For Each oColumn In Cells.Columns If oColumn.MergeCells = True Then i = i + 1 Next oColumn MsgBox i
|
|
6
Franchiser
гуру
06.06.17
✎
00:22
|
iCell.MergeArea.Rows.Count
|
|