Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
знатоки!!! проверьте, плз, код на массив. |
Философия, технологии, алгоритмы! |
|
Опции темы |
04.09.2002, 18:36 | #1 |
Гость
Сообщений: n/a
|
знатоки!!! проверьте, плз, код на массив.
Sub Макрос1()
Dim Worksheet As Worksheet Dim textRng As String Dim ArrForTab() As Variant ' пробовал String , Range n = 0 For Each Worksheet In ThisWorkbook.Worksheets If Worksheet.Name <> "сводная" Then textRng = "'" & Worksheet.Name & "'!" & Worksheet.Range("a1:b5").Address(ReferenceStyle:=x lR) n = n + 1 ReDim ArrForTab(n) ArrForTab(n) = textRng End If Next Worksheet ThisWorkbook.Worksheets("сводная").Cells.Select Selection.Delete Shift:=xlUp ThisWorkbook.PivotCaches.Add(SourceType:=xlConsoli dation, SourceData:= Array(ArrForTab)).CreatePivotTable TableDestination:="[Книга1.xls]сводная!R3C1", TableName:="свод" 'ThisWorkbook.Worksheets("сводная").PivotTableWiza rd 'SourceType:=xlConsolidation, SourceData:=Array(ArrForTab), 'RowGrand:=True, ColumnGrand:=False 'почему-то не работает ссылка на массив ArrForTab. Хотя, если записать все полученные результаты «ручками»: ' ThisWorkbook.PivotCaches.Add(SourceType:=xlConsoli dation, SourceData:= ' Array("Лист1!R1C1:R5C2", "Лист2!R1C1:R5C2", "Лист3!R1C1:R5C2")).CreatePivotTable TableDestination:="[Книга1.xls]сводная!R3C1", TableName:="свод" 'то все получается. End Sub <img src="graemlins/crazy.gif" border="0" alt="[crazy]" /> :confused: <img src="graemlins/clerk.gif" border="0" alt="[clerk]" /> |