Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2020, 18:31   #1
akwarel
Новичок
Джуниор
 
Регистрация: 13.01.2020
Сообщений: 4
По умолчанию в документе №1 перечень помещений в виде гиперссылок, которые обращаются к отдельным документам с табличными данными по начинке помещения(лежат в одной папке). Каждый раз перечень изменяется

Добрый день! Я вынуждена обрабатывать большой массив таблиц и пыталась написать макрос для ускорения работы. Но так как чайник совсем в этом, то только автоматически могу тупить с макросами. Получается бред. Смысл в том, что есть в документе №1 перечень помещений в виде гиперссылок, которые обращаются к отдельным документам с табличными данными по начинке помещения(лежат в одной папке). Каждый раз перечень в документе №1 видоизменяется.
Возможно ли малой кровью автоматически собирать все таблички, с учетом указанных гиперссылок, в один документ/лист 2 например в документе №1, чтобы таблички помещений с их начинкой размещались друг под другом. Пример прилагаю.
Заранее благодарю за помощь и прошу прощения, если какие то глупые вопросы задаю.
Вложения
Тип файла: rar проба.rar (54.6 Кб, 3 просмотров)
akwarel вне форума Ответить с цитированием
Старый 14.01.2020, 21:41   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Не понял что именно надо сделать, так что предположу как понял. Хотите на листе сделать список файлов из подпапки с гиперссылкой на эти файлы? Тогда можете использовать готовые фрагменты:
тыц1
Тыц2
Тыц3
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 15.01.2020, 10:03   #3
akwarel
Новичок
Джуниор
 
Регистрация: 13.01.2020
Сообщений: 4
По умолчанию

Aleksandr H., Спасибо! С этим как раз проблем нет. Я собираю по списку те помещения, которые мне нужны в виде списка гиперссылок. А дальше начинается рутина. Надо пройти по ссылке, в открывшемся документе скопировать таблицу, выйти в новый лист вставить таблицу и так дальше со всеми ссылками. Таблицы по порядку одна под другой (образец прикладываю). Пытаюсь избежать этой рутины. Макрос должен автоматически извлекать по списку гиперссылок в отдельный документ или лист в рабочей книге Документа №1 эти таблички и выстраивать друг под другом.
Вложения
Тип файла: xlsx Документ №1.xlsx (24.9 Кб, 2 просмотров)
akwarel вне форума Ответить с цитированием
Старый 15.01.2020, 15:54   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

В общих словах так.
Папку объект поместить в папку с файлом. Изменить гиперссылки на эту папку.
Код:
Option Explicit

Sub Document_1()
    Dim iLastRow As Integer
    Dim iRow As Integer
    Dim sPath As String
    Dim wb As Object
    Dim ws As Object
    Dim rngUsed As Range
    Dim rngToPaste As Range
    On Error GoTo erH
    iLastRow = Cells(Rows.Count, "A").End(xlUp).Row
    For iRow = 2 To iLastRow
        sPath = ThisWorkbook.Path & "\" & Cells(iRow, "A").Hyperlinks(1).Address
        If Dir(sPath) <> "" Then
            Debug.Print sPath
            Set rngToPaste = Sheets(2).Cells(Sheets(2).Cells(Sheets(2).Rows.Count, "A").End(xlUp).Row + 1, "A")
            ' "File exists."
            Set wb = Workbooks.Open(sPath)
            Set ws = wb.Sheets(1)
            Set rngUsed = ws.UsedRange
            rngUsed.Copy
            rngToPaste.PasteSpecial
            Application.CutCopyMode = False
            wb.Close
            Set ws = Nothing
            Set wb = Nothing
        Else
            ' "File doesn't exist."
        End If
        Cells(iRow, "E") = "+"
erH:
    Next iRow
    Sheets(2).Columns.AutoFit
    MsgBox "Готово"
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 17.01.2020, 16:58   #5
akwarel
Новичок
Джуниор
 
Регистрация: 13.01.2020
Сообщений: 4
По умолчанию

Скопировала код. Но вылезает вот такое сообщение-см картинку. что не так делаю?
Изображения
Тип файла: jpg что не так.jpg (99.6 Кб, 4 просмотров)

Последний раз редактировалось akwarel; 17.01.2020 в 17:00. Причина: картинка не прикрепилась
akwarel вне форума Ответить с цитированием
Старый 17.01.2020, 17:02   #6
akwarel
Новичок
Джуниор
 
Регистрация: 13.01.2020
Сообщений: 4
По умолчанию

Aleksandr H., вылезает ошибка.
akwarel вне форума Ответить с цитированием
Старый 17.01.2020, 19:19   #7
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

На локальном ПК пробовали? Чтобы ссылки были не на веб, приведенный код не для веба.
Для веба, имхо, алгоритм такой: 1) скачать файла на локал 2) открыть 3) скопировать 4) закрыть 5) удалить
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.

Последний раз редактировалось Aleksandr H.; 17.01.2020 в 19:24.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В папке лежат mp3 файлы, которые внешняя программа проигрывает. Нужна прога для истории, т.е. какой файл когда проигрывался Александр248 Софт 7 22.02.2017 21:03
Создайте перечень типа для С++ Olaa Помощь студентам 0 04.12.2016 20:02
Перечень в документе со связью danika24 Microsoft Office Word 0 13.04.2016 11:32
Перечень использованных переменных who Microsoft Office Excel 4 25.09.2014 10:21
Перечень(список) номеров блоков fantaYKT Помощь студентам 0 19.05.2011 20:45