|
|
|
Чтение из Excel сгруппированной таблицы | ☑ | ||
|---|---|---|---|---|
|
0
TheDeadStone
04.03.09
✎
14:20
|
Строки в Excel сгруппированы (Данные\Группа и структура\Сгруппировать).
Подскажите, как можно для строки считываемой таблицы определить, является ли она просто строкой или группой строк? |
|||
|
1
ТелепатБот
гуру
04.03.09
✎
14:20
|
||||
|
2
vde69
04.03.09
✎
14:25
|
что-то близкое к этому
If (RowStart2 < (n - 1)) And (RowStart2 > 0) And (Not fl) Then ' групируем Set R = Application.Worksheets(SheetName).Range(RowStart2 & ":" & (n - 1)) R.Group End If |
|||
|
3
vde69
04.03.09
✎
14:25
|
еще смотри
Application.Worksheets(SheetName).Outline |
|||
|
4
TheDeadStone
04.03.09
✎
14:29
|
(2)(3) Это ты для того, чтобы группировать, и отображать мне подскаживаешь.
А как для конкретной строчки понять уровень группировки? |
|||
|
5
vde69
04.03.09
✎
14:39
|
(4) групировки существуют только для диапазонов, надо проверять вхождение строчки в диапазон
|
|||
|
6
AcaGost
04.03.09
✎
14:45
|
Поковыряй сам список Экселя
|
|||
|
7
AcaGost
04.03.09
✎
14:50
|
Я из такого Экселя загружал ТиС
|
|||
|
8
TheDeadStone
04.03.09
✎
15:34
|
(4) как проверить такое вхождение?
(6) что за список? |
|||
|
9
AcaGost
04.03.09
✎
15:49
|
(8) Добавляешь к твоей таблице в Экселе колонки (сколько уровней)
Открываешь первый уровень во всей таблице (плюсики слева вверху) Заполняешь первую колонку "1" Открываешь второй заполняешь сле колонку "2" ИТД При переносе в 1С проверяешь. |
|||
|
10
TheDeadStone
04.03.09
✎
16:04
|
(9) как заполнять? руками? там 30 тыс строк?!
|
|||
|
11
AcaGost
04.03.09
✎
16:04
|
Макросом
|
|||
|
12
AcaGost
04.03.09
✎
16:05
|
Я заполнял 172 000 строк
|
|||
|
13
TheDeadStone
04.03.09
✎
16:09
|
(11) можешь привести пример макроса?
|
|||
|
14
AcaGost
04.03.09
✎
16:16
|
Sub Макрос2()
' ' Макрос2 Макрос ' Макрос записан 14.10.2008 (www.PHILka.RU) ' ' ' MsgBox Range("B6").CurrentRegion.Rows.Count ЧислоСтрок = Range("B6").CurrentRegion.Rows.Count + 2 ' Range("B6").CurrentRegion.Select For y = 1 To 5 ActiveSheet.Outline.ShowLevels RowLevels:=y For x = 6 To ЧислоСтрок If ActiveSheet.Rows(x).EntireRow.Hidden = 0 Then If ActiveSheet.Cells(x, 1).Value = "" Then If ActiveSheet.Cells(x, 7).Value = "" Then ActiveSheet.Cells(x, 7).Value = y End If End If End If Next Next End Sub |
|||
|
15
TheDeadStone
04.03.09
✎
16:20
|
спасиб. Буду смотреть
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |