Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как быстро переместить лист из одной книги в другие - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как быстро переместить лист из одной книги в другие (Формулы/Formulas)
Как быстро переместить лист из одной книги в другие
stalber Дата: Пятница, 17.04.2020, 13:45 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 370
Репутация: 7 ±
Замечаний: 40% ±

Excel 2021
Добрый день.

Делаю сам так:
1) Открываю эксель файл в который нужно будет скинуть новый лист
2) В него кидаю другой файл в котором нужный мне лист
3) Нажимаю правой кнопкой мыши по листу - Переместить скопировать - выбираю нужную книгу и перемещаю.
4) Затем захожу в "Данные" - изменить связи, выбираю нужный файл.

А если мне нужно обновить так файлов 30 то очень много времени занимает, проделывать все 4 пункта 30 раз.

Главная задача: Есть нужный мне лист и есть 30 файлов куда нужно этот лист переместить с обновлёнными связями. Поделитесь пожалуйста какие есть способы, как это быстро проделать.
 
Ответить
СообщениеДобрый день.

Делаю сам так:
1) Открываю эксель файл в который нужно будет скинуть новый лист
2) В него кидаю другой файл в котором нужный мне лист
3) Нажимаю правой кнопкой мыши по листу - Переместить скопировать - выбираю нужную книгу и перемещаю.
4) Затем захожу в "Данные" - изменить связи, выбираю нужный файл.

А если мне нужно обновить так файлов 30 то очень много времени занимает, проделывать все 4 пункта 30 раз.

Главная задача: Есть нужный мне лист и есть 30 файлов куда нужно этот лист переместить с обновлёнными связями. Поделитесь пожалуйста какие есть способы, как это быстро проделать.

Автор - stalber
Дата добавления - 17.04.2020 в 13:45
_Boroda_ Дата: Вторник, 21.04.2020, 00:49 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Такой вариант
[vba]
Код
Sub tt()
Sub tt()
    Dim fd As FileDialog
    On Error Resume Next
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    With fd
        .Filters.Clear
        .Filters.Add "Excel Files", "*.xls*"
        .ButtonName = "Выбрать"
        .AllowMultiSelect = 1
        .Title = "                   !!!!!!!Выберите с нажатым Контрл или Шифт"
        .InitialView = msoFileDialogViewDetails
        .Show
        sn_ = "nnn" 'имя переносимого листа
        Application.ScreenUpdating = 0
        Application.DisplayAlerts = 0
        For i = 1 To .SelectedItems.Count
            fl_ = 1
            p_ = .SelectedItems(i)
            fn_ = Mid(p_, InStrRev(p_, "\") + 1)
            Workbooks.Open Filename:=p_
            With Workbooks(fn_)
                Err.Clear
                si_ = .Sheets(sn_).Index
                If Err = 0 Then
                    If MsgBox("В книге ''" & .Name & "'' уже есть лист ''" & sn_ & "''." & vbLf & "Заменить?", vbYesNo) = 6 Then
                        .Sheets(sn_).Delete
                    Else
                        fl_ = 0
                    End If
                End If
                If fl_ Then
                    ThisWorkbook.Sheets(sn_).Copy After:=.Sheets(.Sheets.Count)
                    .ChangeLink Name:=ThisWorkbook.Name, NewName:=.Name, Type:=xlExcelLinks
                End If
                .Close fl_
            End With
        Next i
        Application.DisplayAlerts = 1
        Application.ScreenUpdating = 1
    End With
End Sub
[/vba]
К сообщению приложен файл: ListPerenos.xlsm (20.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТакой вариант
[vba]
Код
Sub tt()
Sub tt()
    Dim fd As FileDialog
    On Error Resume Next
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    With fd
        .Filters.Clear
        .Filters.Add "Excel Files", "*.xls*"
        .ButtonName = "Выбрать"
        .AllowMultiSelect = 1
        .Title = "                   !!!!!!!Выберите с нажатым Контрл или Шифт"
        .InitialView = msoFileDialogViewDetails
        .Show
        sn_ = "nnn" 'имя переносимого листа
        Application.ScreenUpdating = 0
        Application.DisplayAlerts = 0
        For i = 1 To .SelectedItems.Count
            fl_ = 1
            p_ = .SelectedItems(i)
            fn_ = Mid(p_, InStrRev(p_, "\") + 1)
            Workbooks.Open Filename:=p_
            With Workbooks(fn_)
                Err.Clear
                si_ = .Sheets(sn_).Index
                If Err = 0 Then
                    If MsgBox("В книге ''" & .Name & "'' уже есть лист ''" & sn_ & "''." & vbLf & "Заменить?", vbYesNo) = 6 Then
                        .Sheets(sn_).Delete
                    Else
                        fl_ = 0
                    End If
                End If
                If fl_ Then
                    ThisWorkbook.Sheets(sn_).Copy After:=.Sheets(.Sheets.Count)
                    .ChangeLink Name:=ThisWorkbook.Name, NewName:=.Name, Type:=xlExcelLinks
                End If
                .Close fl_
            End With
        Next i
        Application.DisplayAlerts = 1
        Application.ScreenUpdating = 1
    End With
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 21.04.2020 в 00:49
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как быстро переместить лист из одной книги в другие (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!