Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


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

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

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

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

В общих словах так.
Папку объект поместить в папку с файлом. Изменить гиперссылки на эту папку.
Код:
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, 17:58   #5
akwarel
Новичок
Джуниор
 
Регистрация: 13.01.2020
Сообщений: 4
По умолчанию

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

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

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

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


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