Имя: Пароль:
1C
 
Чтение из 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
спасиб. Буду смотреть