powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Скопировать данные пассивной книги и вставить их в активную.
13 сообщений из 13, страница 1 из 1
Скопировать данные пассивной книги и вставить их в активную.
    #39734759
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Ребята помогите с макросом.
С активной книги необходимо, не используя путь, копировать диапазон данные в скрытом листе пассивной книги с последующей вставкой в активную.
При условии, если есть (открыта) пассивная книга.
...
Рейтинг: 0 / 0
Скопировать данные пассивной книги и вставить их в активную.
    #39734762
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailпомогите с макросом.Где тот макрос, с которым нужно помочь?
...
Рейтинг: 0 / 0
Скопировать данные пассивной книги и вставить их в активную.
    #39734766
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Prosegailпомогите с макросом.Где тот макрос, с которым нужно помочь?
Нет макроса, помогите с макросом, есть только активная книга Б_Д, пассивные книги с именем скрытого листа «итог», в котором необходимо скопировать и вставить диапазон "B3:B4" в активную книгу.
...
Рейтинг: 0 / 0
Скопировать данные пассивной книги и вставить их в активную.
    #39734771
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail, а Вы сами поняли чего написали?
segailС активной книги необходимо, не используя путь, копировать диапазон данные в скрытом листе пассивной книги с последующей вставкой в активнуюБез обид, но описание выглядит так, будто писалось по принципу "лишь бы что-то написать, а там пусть сами разбираются"


Имя пассивной книги при этом откуда брать? Что вообще есть пассивная книга? Что если их несколько?
Вот Вам два примера.
Пример 1. Конкретное имя пассивной книги(КнигаПасс.xlsm) и её листа(итог) копируем в активную ячейку активного листа активной книги(т.к. другого от Вас не дано):
Код: vbnet
1.
Applicatoin.Workbooks("КнигаПасс.xlsm").Sheets("итог").Range("B3:B4").Copy ActiveCell


Пример 1. Данные листа(итог) книги с кодом(т.е. той, в которой расположен сам код копирования) копируем в активную ячейку активного листа активной книги(т.к. другого от Вас не дано):
Код: vbnet
1.
Applicatoin.ThisWorkbook.Sheets("итог").Range("B3:B4").Copy ActiveCell


Если адрес ячеек активной книги отличается от активной ячейки, то замените ActiveCell на конкретный адрес(например,
Код: plaintext
Range("A3")
)
...
Рейтинг: 0 / 0
Скопировать данные пассивной книги и вставить их в активную.
    #39734773
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Prist, дело в том, что если открыта книга Б_Д и находясь непосредственно в данной книге (выполняя некие действия) я ее определяю как активная, если же при этом открыта еще одна книга то она по отношению к книге Б_Д будет пассивной, а так как пассивных книг может быть много с разными именами то прописывать конкретный путь не пойдет. Но открыта перед копированием и вставкой будет только одна из пассивных книг.
Если такое невозможно по определению и я ошибаюсь в правильности понимания пассивности и активности книг, а путь есть основа для выполнения нужного действия, то извиняюсь за беспокойство ничего не надо.
...
Рейтинг: 0 / 0
Скопировать данные пассивной книги и вставить их в активную.
    #39734802
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
segail,
работает с первой из пассивных книг
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Sub Se()
Dim w As Workbook, a As Worksheet
  For Each w In Workbooks
    If Not w Is ActiveWorkbook Then
      If w.Windows(1).Visible Then
        On Error Resume Next
        Set a = w.Worksheets("итог")
        If Err Then MsgBox "В книге " & w.Name & " нет листа 'итог'", vbCritical: Exit Sub
        a.Range("B3:B4").Copy ActiveCell
        Exit Sub
      End If
    End If
  Next
  MsgBox "Нет пассивной книги", vbCritical
End Sub
...
Рейтинг: 0 / 0
Скопировать данные пассивной книги и вставить их в активную.
    #39734814
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Казанский, Вы мастер, лаконичность кода, лично мне не дает понимание как происходит вставка, поэтому добавил вместо ActiveCell нужный лист и ячейку для вставки,
Код: vbnet
1.
 a.Range("B3:B4").Copy Sheets("фильтр").Range("A1")


но не знаю как и куда притянуть вставку именно на связь и исходное форматирование.
Через макрорекордер данный код выглядит так
Код: vbnet
1.
2.
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone,  SkipBlanks:=False, Transpose:=False
ActiveSheet.Paste Link:=True
...
Рейтинг: 0 / 0
Скопировать данные пассивной книги и вставить их в активную.
    #39734818
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть маленький "но". Всё это может происходить в одном хост-процессе Excel, а может и в двух разных. И во втором случае достучаться до "пассивной" книги - задача нетривиальная...
...
Рейтинг: 0 / 0
Скопировать данные пассивной книги и вставить их в активную.
    #39734820
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaЕсть маленький "но". Всё это может происходить в одном хост-процессе Excel, а может и в двух разных. И во втором случае достучаться до "пассивной" книги - задача нетривиальная...
В двух разных это как?
...
Рейтинг: 0 / 0
Скопировать данные пассивной книги и вставить их в активную.
    #39734829
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailэто как?А вот так, например:
...
Рейтинг: 0 / 0
Скопировать данные пассивной книги и вставить их в активную.
    #39734837
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
segailкак и куда притянуть вставку именно на связь и исходное форматированиеНаверно так
Код: vbnet
1.
2.
3.
4.
a.Range("B3:B4").Copy
Sheets("фильтр").Range("A1").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone,  SkipBlanks:=False, Transpose:=False
Sheets("фильтр").Range("A1").Paste Link:=True
application.cutcopymode=false 'выйти из режима копирования-вставки
...
Рейтинг: 0 / 0
Скопировать данные пассивной книги и вставить их в активную.
    #39734857
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, не понял я не черта, ну если и будет какой-то временной сбой, то это не критично, главное в последующем чтобы это восстанавливалось, основное это чтобы копирование было менее замороченным.
...
Рейтинг: 0 / 0
Скопировать данные пассивной книги и вставить их в активную.
    #39734858
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Казанский, Благодарю! Тестово пока работает, буду пробовать вписывать его в рабочий файл.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Скопировать данные пассивной книги и вставить их в активную.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]