Страница: 1 |
Страница: 1 |
Вопрос: Пользовательская функция consol()
Добавлено: 14.06.06 13:40
Автор вопроса: SvetlanaL | ICQ: 229-356-346
Есть функция,вызывая которую в ячейки долджны сконсолидироваться данные из других книг, с совпадающим именем листа и адресом ячейки. Например, существует книга "эталон" и в каких-то ячейках вызывается функция consol.
Function consol()
Dim mFileSystemObject As FileSystemObject, mFolder As Folder, mFiles As Files, mFile As File
Dim mConnection As ADODB.Connection, mRecordset As ADODB.Recordset, mConnectionString As String
Dim InPath As String
Dim StrokaKonsolidasia As String
Dim str1 As String
Set mFileSystemObject = New FileSystemObject
Set mConnection = New ADODB.Connection
InPath = "c:\svod1"
Set mFolder = mFileSystemObject.GetFolder(InPath)
Set mFiles = mFolder.Files
str1 = ActiveCell.Address
InCellAdr = DelStr(str1, "$")
For Each mFile In mFiles
mConnectionString = "DRIVER={Microsoft Excel Driver (*.xls)};ReadOnly=1;DBQ=" & mFile.path
mConnection.Open mConnectionString
Set mRecordset = mConnection.OpenSchema(adSchemaTables)
If Len(StrokaKonsolidasia) > 0 Then
StrokaKonsolidasia = StrokaKonsolidasia & "," & _
"'" & mFile.ParentFolder & "\[" & mFile.Name & "]" & ActiveSheet.Name & _
"'!InCellAdr"
Else
StrokaKonsolidasia = StrokaKonsolidasia & _
"'" & mFile.ParentFolder & "\[" & mFile.Name & "]" & ActiveSheet.Name & _
"'!InCellAdr"
End If
mConnection.Close
Next mFile
Set mConnection = Nothing
Set mFileSystemObject = Nothing
Selection.Consolidate Sources:=Split(StrokaKonsolidasia, ","), Function:=xlSum
consol = ? НЕ ЗНАЮ ЧТО ДЕЛАТЬ ДАЛЬШЕ!!!
End Function
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #1
Добавлено: 14.06.06 15:09
Номер ответа: 2
Автор ответа:
SvetlanaL
ICQ: 229-356-346
Вопросов: 8
Ответов: 20
Профиль | | #2
Добавлено: 15.06.06 07:58
Не поняла.
Номер ответа: 3
Автор ответа:
Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #3
Добавлено: 15.06.06 09:45
Бывает...
Номер ответа: 4
Автор ответа:
SvetlanaL
ICQ: 229-356-346
Вопросов: 8
Ответов: 20
Профиль | | #4
Добавлено: 15.06.06 09:51
В смысле жить и работать этой функции не судьба?
Номер ответа: 5
Автор ответа:
Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #5
Добавлено: 15.06.06 10:14
Да судьба конечно! Все можно придумать.
Увидел полностью свой текст и в завершении волшебный апендикс типа:
Я тоже незнаю... я вообще впринципе не понимаю, что ты хошешь, чтобы возвращала
Так как консолидацию мы с тобой сделали - то у тебя выводится табличка. Ты хочешь при переборе файликов выбирать только определенные и с определенными листами? Вообще пиши поподробнее - так как реально непонятно. Можешь вылать на мыло файл с примером.
Номер ответа: 6
Автор ответа:
Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #6
Добавлено: 19.06.06 19:46
Странная Вы SvetlanaL - зачем задавать вопросы, если не важны ответы... В каждом вопросе Вы странная...
Номер ответа: 7
Автор ответа:
SvetlanaL
ICQ: 229-356-346
Вопросов: 8
Ответов: 20
Профиль | | #7
Добавлено: 19.06.06 20:13
Но почему? Мне очень был нужен твой ответ. Я изо всех сил формулировала вопрос и отправила на e-mail, а не на форум. Может он не дошел. Но это работа, а мне нужен результат. Поэтому пришлось идти другим путем. Очень кривым, а тот казался таким красивым. Опыт у меня ещё не большой, все методом научного тыка - отсюда и странности...
Номер ответа: 8
Автор ответа:
Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #8
Добавлено: 20.06.06 08:33
Письмо действительно не дошло. Ну тогда если что обращайся.