Копирование в закрытый файл excel

mrYOGA

0 / 0 / 0

Регистрация: 03.06.2014

Сообщений: 8

29.08.2020, 08:42

 [ТС]

4

Огромное спасибо за оперативность.
Есть нюансы, в представленной реализации которые мешают ей быть универсальной:
1. жесткая привязка к количеству строк 1 столбца и растягивание диапазона на 2ой столбец — неправильно. Может возникнуть ситуация, когда 1 столбец короче второго и часть 2го окажется обрезана.
2. для меня не критично, но те у кого будет больше 5000 строк могут получить искаженные данные т.к. очистка ниже делаться не будет.
3. жесткая привязка по индексу столбца. Для маленьких таблиц возможно пойдет, но удобней все-таки по имени столбца делать поиск. Вдруг с таблицей работают несколько человек и кому-нибудь захочется переставить столбцы местами.
4. нюанс плавно вытекающий из 3 пункта. указан диапазон 1-2 столбец, для малопонимающих в кодировании будет непонятно как скопировать 1 и 3 столбец за 1 открытие книги. Да, можно сделать копирование по 1 столбцу и каждый раз книгу открывать, но это не совсем корректно с точки зрения ресурсозатрат. Да и код длинный получится.
5. копирование только значений (без стиля) — для кого-то не критично. Мне понравилось во втором макросе то что столбец копируется со стилем данных. Для меня это удобно, настроить в 1 книге стиль отображения и рассылать другим.

Спасибо Narimanych за новый способ взаимодействия со 2ой книгой. Через ADO никак не мог понять, как перенастроить под свои нужды.
Взял за основу ваш метод и изменил 1ый макрос. Теперь он лишен вышенаписанных нюансов.
1. Добавил проверку на наличие файла Book2 и Book3.
2. Для эксперимента создал папки 1,2,3 в каждую поместил по 1 книге. Изменил путь ко 2 и 3 книге на относительный через папку родителя.
3. Копирует указанные столбцы на каком бы месте они не находились и в книги выставляет в том порядке в котором они стоят в макросе.
4. Добавил проверку на наличие столбца с нужным именем.
5. Всё привязал к одной кнопке.

Теперь он работает как я это описывал. Единственная просьба, посмотреть текущий код, может в нем можно что-то оптимизировать? Или что-то лишнее написал? Буду рад комментариям.

Макрос:

Кликните здесь для просмотра всего текста

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Sub UpdateData()
Dim currColumn As Object
Dim mstr As String
If Dir(ThisWorkbook.Path & "..2Book2.xls") = "" Then
    MsgBox "Файл Book2 не найден!", 48, "Ошибка"
Else
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Workbooks.Open (ThisWorkbook.Path & "..2Book2.xls")
 
    ThisWorkbook.Sheets("Лист1").Activate
    With Worksheets("Лист1")
        For i = 1 To 2
            mstr = Array("Сотрудники", "Количество")(i - 1)
            Set currCell = .Cells.Find(What:=mstr, SearchFormat:=False)
            If currCell Is Nothing Then
                MsgBox "Столбец '" + mstr + "' не найден!", 48, "Ошибка"
            Else
                .Columns(currCell.Column).Copy Workbooks("Book2.xls").Worksheets("Лист1").Columns(i)
            End If
        Next i
    End With
    Set currColumn = Nothing
    
    Workbooks("Book2.xls").Close True
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    MsgBox "Файл Book2 обновлен.", 64, "Сообщение"
End If
 
If Dir(ThisWorkbook.Path & "..3Book3.xls") = "" Then
    MsgBox "Файл Book3 не найден!", 48, "Ошибка"
Else
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Workbooks.Open (ThisWorkbook.Path & "..3Book3.xls")
 
    ThisWorkbook.Sheets("Лист1").Activate
    With Worksheets("Лист1")
        For i = 1 To 1
            mstr = Array("Цена")(i - 1)
            Set currCell = .Cells.Find(What:=mstr, SearchFormat:=False)
            If currCell Is Nothing Then
                MsgBox "Столбец '" + mstr + "' не найден!", 48, "Ошибка"
            Else
                .Columns(currCell.Column).Copy Workbooks("Book3.xls").Worksheets("Лист1").Columns(i)
            End If
        Next i
    End With
    Set currColumn = Nothing
    
    Workbooks("Book3.xls").Close True
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    MsgBox "Файл Book3 обновлен.", 64, "Сообщение"
End If
End Sub

Из задумок: для каждого файла, массив с перечнем столбцов вынести в отдельные переменные и поместить в начало скрипта для удобства редактирования, это также позволит убрать необходимость менять количество шагов цикла, сделать их динамичными от размерности массива.

Вложения

Тип файла: rar Books v2.rar (19.1 Кб, 12 просмотров)



0



 

boom

Пользователь

Сообщений: 87
Регистрация: 01.01.1970

Здравствуйте, подскажите макрос для добавления значений в ячейки закрытой книги? например из одной открытой книги скопировать значения активной ячейки в первую пустую ячейку закрытой книги.

 

ikki

Пользователь

Сообщений: 9709
Регистрация: 22.12.2012

я вижу один способ: макросом, незаметно для юзера, открыть эту закрытую книгу, записать нужное значение в нужное место, закрыть книгу с сохранением данных.  

  правда, если книги тесно связаны, возможны сюрпризы (в виде обновления связей, пересчетов результатов формул и т.п.) и юзер сойдет с ума, а вас посодют в тюрьму — за причинение тяжких.  

  подумайте ещё раз — оно вам надо?

фрилансер Excel, VBA — контакты в профиле
«Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

 

boom

Пользователь

Сообщений: 87
Регистрация: 01.01.1970

Надо…. основная книга, это хранилище макросов и так далее, остальные книги будут хранить только информацию.  

  32233

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Чтоб не обновлялись данные — можно эту книгу сперва переименовать, потом открыть, добавить данные, закрыть, переименовать назад.  
Не проверял — свежепридуманное :)

 

ikki

Пользователь

Сообщений: 9709
Регистрация: 22.12.2012

да, имхо, идея вполне жизнеспособная )  
ну и, ессно, application.enableevents=false перед открытием.  
а то мало ли, что там макросы на события захотят натворить :)  
открывать без обновления связей.  
и сохранять — тоже, сперва сняв соответствующую галочку.  
режим вычислений на ручной, думаю, менять не надо, но можно.  

  в общем… поковыряться придётся.  

  boom, если Вам всего вышенаписанного (Hugo и мной) будет недостаточно, то могу попробовать слепить такой макрос. но — в понедельник. раньше — никак не могу.

фрилансер Excel, VBA — контакты в профиле
«Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

 

boom

Пользователь

Сообщений: 87
Регистрация: 01.01.1970

Я уже начал экспериментировать :)    
Но и жду макрос, для саморазвития да и форумчанам я думаю он будет очень полезен :)  

  Еще один вопрос а можно открыть книгу, что бы пользователь не догадывался, что она открывается, а то application.visible = false выдает открытие excel

 

LightZ

Пользователь

Сообщений: 1748
Регистрация: 22.12.2012

Sub ViOpen()  
Dim wb As String: wb = ThisWorkbook.Path & «osn.xlsm» ‘путь к основной книге (куда копировать)  
With Application  
   .EnableEvents = False  
   .Calculation = xlCalculationManual  
   .ScreenUpdating = False  
   .Visible = False  
Workbooks.Open Filename:=wb  
ThisWorkbook.ActiveSheet.UsedRange.Copy ActiveWorkbook.ActiveSheet.[a1] ‘копируем все данные с активного листа
ActiveWorkbook.Close (True)  
   .EnableEvents = True  
   .Calculation = xlCalculationAutomatic  
   .ScreenUpdating = True  
   .Visible = True  
End With  
End Sub

Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

{quote}{login=boom}{date=12.05.2012 10:38}{thema=}{post}Еще один вопрос а можно открыть книгу, что бы пользователь не догадывался, что она открывается, а то application.visible = false выдает открытие excel{/post}{/quote}Может быть это поможет?  
Application.ShowWindowsInTaskbar = False

 

boom

Пользователь

Сообщений: 87
Регистрация: 01.01.1970

Юрий, ничего не происходит, у меня Win7, office 2007.  

  44665

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

 

boom

Пользователь

Сообщений: 87
Регистрация: 01.01.1970

Я спросил альтернативу application.visible  
Что бы пользователь не видел как открывается книга excel

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

А что — Application.ShowWindowsInTaskbar = False не помогает? Application.ScreenUpdating у Вас используется?

 

boom

Пользователь

Сообщений: 87
Регистрация: 01.01.1970

Что с ним, что без, при попытке скрытно открыть книгу вылезает окно excel на некоторое время потом скрывается, цель — что бы пользователь работал только с формой и вообще не видел книги, которые открываются макросами для добавления данных.

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Если установить в True — что происходит?

 

boom

Пользователь

Сообщений: 87
Регистрация: 01.01.1970

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Тогда ничем не могу помочь: у меня ХР — всё нормально отрабатывает (не мигает).

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Похоже, что Application.ScreenUpdating — неведома зверушка… :)

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

 

boom

Пользователь

Сообщений: 87
Регистрация: 01.01.1970

{quote}{login=Hugo}{date=13.05.2012 12:14}{thema=}{post}Похоже, что Application.ScreenUpdating — неведома зверушка… :){/post}{/quote}  
Это тоже не помогает избежать отображения окна excel на 1-2 сек. :)

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Тогда странно — всем помогает… Только в панели мигают эти WindowsInTaskbar, если не отключены.  
Может покажете, что там наэкспериментировали?

 

boom

Пользователь

Сообщений: 87
Регистрация: 01.01.1970

Пробовал по разному.  
Остановился на варианте application.visible = 0, при открытии первой книги, которая управляющая выскакивает окно excel, в дальнейшем, при открытии других книг такого не наблюдалось.  

  А возможно при application.visible = 0 отобразить только определенную книгу?

 

ikki

Пользователь

Сообщений: 9709
Регистрация: 22.12.2012

имхо, копать здесь:  
{quote}{login=boom}{date=12.05.2012 11:44}{thema=}{post}при попытке скрытно открыть книгу вылезает окно excel на некоторое время потом скрывается{/post}{/quote}  
я так понял, что у ТС окно приложения изначально скрыто.  
а у всех остальных — нет :)  

  пс. решения тоже пока не нашел.

фрилансер Excel, VBA — контакты в профиле
«Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

 

R Dmitry

Пользователь

Сообщений: 3103
Регистрация: 22.12.2012

Excel,MSSQL,Oracle,Qlik

#23

13.05.2012 01:37:31

Может поможет…. :)  
распакуйте на физический диск

Прикрепленные файлы

  • post_333986.zip (18.59 КБ)

Спасибо

 

boom

Пользователь

Сообщений: 87
Регистрация: 01.01.1970

интересненько :)  
Вот только добавляет в ячейки методом +1 от последней ранее заполненной, даже если она пустая

 

R Dmitry

Пользователь

Сообщений: 3103
Регистрация: 22.12.2012

Excel,MSSQL,Oracle,Qlik

#25

13.05.2012 10:13:03

{quote}{login=boom}{date=13.05.2012 02:15}{thema=}{post}интересненько :)  
Вот только ……………{/post}{/quote}  
Я Вам дал направление, решенное на 99%, приложите немного старания и сообразительности для решения Ваших насущных задач.  
ps// если хотите что бы все сделали за Вас  пишите что хотите, и что можете предложить.  
ps:ps//Я бы не использовал xls для хранения данных.

Спасибо

 

Дмитрий, для меня ваше решение пока сложновато, пробовал переделать ваш макрос под последнюю пустую ячейку, но никак :)

 

LightZ

Пользователь

Сообщений: 1748
Регистрация: 22.12.2012

boom мой макрос Вам не подошел?

Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?

 

boom

Пользователь

Сообщений: 87
Регистрация: 01.01.1970

Я же написал, что остановился пока на нем :) и жду решения ikki  

  Повторный вопрос: при application.visible = false можно прописать параметр true только для определенной книги?

 

LightZ

Пользователь

Сообщений: 1748
Регистрация: 22.12.2012

Нет  
-=77277=-

Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

#30

13.05.2012 12:22:44

Windows(«ВтораяКнига.xls»).Visible = False

копирование в закрытую книгу

Мур

Дата: Воскресенье, 29.12.2013, 14:36 |
Сообщение № 1

Группа: Проверенные

Ранг: Обитатель

Сообщений: 436


Репутация:

19

±

Замечаний:
0% ±


Приветствую участников!
Сначала вопрос теоретического характера. Возможно ли копировать макросом выделенный текст в другую закрытую книгу?

 

Ответить

RAN

Дата: Воскресенье, 29.12.2013, 15:09 |
Сообщение № 2

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

1. Да.
2. Нет.

Оба ответа правильные.
Какой нужен? :)


Быть или не быть, вот в чем загвоздка!

 

Ответить

wild_pig

Дата: Воскресенье, 29.12.2013, 19:40 |
Сообщение № 3

Группа: Проверенные

Ранг: Обитатель

Сообщений: 516


Репутация:

97

±

Замечаний:
0% ±


2003, 2013

 

Ответить

AndreTM

Дата: Воскресенье, 29.12.2013, 19:47 |
Сообщение № 4

Группа: Друзья

Ранг: Старожил

Сообщений: 1762


Репутация:

498

±

Замечаний:
0% ±


2003 & 2010

wild_pig, а без открытия? :)

По идее, можно попробовать воспользоваться ADO и инструкцией UPDATE (что позволит обновить именно закрытую книгу).
Но в таком случае мы переходим из плоскости теории к практическим рассуждениям — ибо надо знать структуру книги-получателя…


Skype: andre.tm.007
Donate: Qiwi: 9517375010

 

Ответить

RAN

Дата: Воскресенье, 29.12.2013, 20:09 |
Сообщение № 5

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

A я все понять не мог, что мне этот пятачек напоминает. :D

Снизу — как избавиться.
А сверху — что.

К сообщению приложен файл:

4526951.jpg
(3.4 Kb)


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RANВоскресенье, 29.12.2013, 20:15

 

Ответить

wild_pig

Дата: Воскресенье, 29.12.2013, 20:58 |
Сообщение № 6

Группа: Проверенные

Ранг: Обитатель

Сообщений: 516


Репутация:

97

±

Замечаний:
0% ±


2003, 2013

Моя аватарка напоминает фаллоимитатор вантуз или это про мои ответы?

 

Ответить

RAN

Дата: Понедельник, 30.12.2013, 01:20 |
Сообщение № 7

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Сверхуснизу
затычкапрочистка
А как свой пятачек использовать, дело личное…

Мяв! Могу царапнуть!


Быть или не быть, вот в чем загвоздка!

 

Ответить

KuklP

Дата: Понедельник, 30.12.2013, 13:13 |
Сообщение № 8

Группа: Проверенные

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

Замечаний:
0% ±


2003-2010

воспользоваться ADO и инструкцией UPDATE (что позволит обновить именно закрытую книгу)

Не позволит. Позволит ее открыть, да не просто, а для записи. Ни один из существующих механизмов, будь то чтение, или запись в файл, не работает напрямую с дисковыми секторами.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

 

Ответить

AndreTM

Дата: Понедельник, 30.12.2013, 14:10 |
Сообщение № 9

Группа: Друзья

Ранг: Старожил

Сообщений: 1762


Репутация:

498

±

Замечаний:
0% ±


2003 & 2010

KuklP, ну, это я так предложил — мало ли, ТС не устраивает механизм, предложенный wild_pig :)
А «закрытая» у меня предполагала то, о чём, видимо, и говорил ТС — «не открытая в данный момент приложением Excel».


Skype: andre.tm.007
Donate: Qiwi: 9517375010

 

Ответить

Мур

Дата: Понедельник, 30.12.2013, 14:39 |
Сообщение № 10

Группа: Проверенные

Ранг: Обитатель

Сообщений: 436


Репутация:

19

±

Замечаний:
0% ±


Приветствую участников!
Я думал вопрос изначально некорректный «глупый», а он вот как обсуждается…
Посмотрю варинат wild_pig, и отпишусь позднее, всем спасибо…

 

Ответить

Мур

Дата: Вторник, 31.12.2013, 12:53 |
Сообщение № 11

Группа: Проверенные

Ранг: Обитатель

Сообщений: 436


Репутация:

19

±

Замечаний:
0% ±


wild_pig, приветствую Вас и других участников форума!
Изучил Ваш код. Большое спасибо!

 

Ответить

Hugo

Дата: Вторник, 31.12.2013, 13:03 |
Сообщение № 12

Группа: Друзья

Ранг: Участник клуба

Сообщений: 3140


Репутация:

670

±

Замечаний:
0% ±


2010, теперь уже с PQ

И ошибку (описку) тоже нашли?

Всех с Наступающим!


excel@nxt.ru
webmoney: R418926282008 Z422237915069

 

Ответить

AndreTM

Дата: Вторник, 31.12.2013, 15:34 |
Сообщение № 13

Группа: Друзья

Ранг: Старожил

Сообщений: 1762


Репутация:

498

±

Замечаний:
0% ±


2003 & 2010

ошибку (описку) тоже нашли?

Может, две описки? :)
a и arr — это одно.
А как насчёт Ubound(a) против Ubound(a, 1) ? :D Не сильно принципиально в VBA — но может вызвать оччень большие проблемы при бездумном переносе на другие языки :)


Skype: andre.tm.007
Donate: Qiwi: 9517375010

 

Ответить

RAN

Дата: Вторник, 31.12.2013, 16:29 |
Сообщение № 14

Группа: Друзья

Ранг: Экселист

Сообщений: 5645


Быть или не быть, вот в чем загвоздка!

 

Ответить

wild_pig

Дата: Вторник, 31.12.2013, 17:21 |
Сообщение № 15

Группа: Проверенные

Ранг: Обитатель

Сообщений: 516


Репутация:

97

±

Замечаний:
0% ±


2003, 2013


Это я пару букаф удалил, проморгал. Прошу пардону.

 

Ответить

AndreTM

Дата: Вторник, 31.12.2013, 17:52 |
Сообщение № 16

Группа: Друзья

Ранг: Старожил

Сообщений: 1762


Репутация:

498

±

Замечаний:
0% ±


2003 & 2010

Это я пару букаф удалил, проморгал. Прошу пардону.

Ага. А код-то, видимо, заработал у ТС, в результате. Интересно, почему… Ведь это из серии того самого http://www.sql.ru/forum….nyh-dbf


Skype: andre.tm.007
Donate: Qiwi: 9517375010

 

Ответить

Как скопировать данные с защищенного листа?

На чтение 3 мин. Просмотров 1k. Опубликовано 23.05.2021

Предположим, вы получили файл Excel от другого человека, рабочие листы которого защищены пользователем. Теперь вы хотите скопировать и вставить необработанные данные в другую новую книгу. Но данные на защищенном листе не могут быть выбраны и скопированы из-за того, что пользователь снял флажки «Выбрать заблокированные ячейки» и «Выбрать разблокированные ячейки» при защите рабочего листа. В этой статье я расскажу о некоторых быстрых приемах решения этой задачи в Excel.

Копировать данные с защищенного листа с помощью кода VBA

Копировать данные с защищенного листа с помощью поля имени

Вкладка Office Включает редактирование и просмотр с вкладками в Office и делает вашу работу намного проще …

Подробнее … Бесплатная загрузка …

Kutools for Excel решает большинство ваших проблем и увеличивает ваши Производительность на 80%.

  • Повторное использование чего угодно: добавляйте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное и быстро используйте их в будущем.
  • Более 20 текстовых функций: извлечение числа из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
  • Инструменты слияния: несколько книг и листов в одну; Объединить несколько ячеек/строк/столбцов без потери данных; Объедините повторяющиеся строки и суммируйте.
  • Инструменты разделения: разделение данных на несколько листов в зависимости от значения; Из одной книги в несколько файлов Excel, PDF или CSV; Один столбец в несколько столбцов.
  • Вставить пропуск скрытых/отфильтрованных строк; Подсчет и сумма по цвету фона; Массовая отправка персонализированных писем нескольким получателям.
  • Суперфильтр: создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделе, дню, частоте и т. Д. Фильтр жирным шрифтом, формулами, комментарием …
  • Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.

Подробнее … Бесплатная загрузка …

->


Копировать данные из защищенных лист с кодом VBA

Следующий простой код может помочь вам скопировать данные в активный защищенный лист, сделайте следующее:

1 . Активируйте защищенный лист, с которого вы хотите скопировать данные, а затем удерживайте клавиши ALT + F11 , чтобы открыть окно Microsoft Visual Basic для приложений , затем нажмите клавиши Ctrl + G , чтобы открыть окно Немедленное , а затем скопируйте приведенный ниже код скрипта в окно Немедленное . :

Activesheet.Cells.Select

2 . И нажмите клавишу Enter , затем вы должны нажать Ctrl + C , чтобы скопировать данные листа, а затем активировать другую книгу или новый лист, куда вы хотите вставить этот лист и поместите курсор в ячейку A1, а затем удерживайте Ctrl + V , чтобы вставить его.


Копировать данные с защищенного листа с помощью поля имени

Если вам нужно скопировать определенный диапазон данные из защитного листа, вы можете применить Name Box , чтобы завершить эту работу.

1 . Введите диапазон ячеек (D2: H13) непосредственно в поле Имя и нажмите клавишу Enter , см. Снимок экрана:

2 . После нажатия клавиши Enter , очевидно, ничего не происходит. Пожалуйста, ничего не делайте, просто нажмите Ctrl + C , чтобы скопировать конкретный диапазон, после чего вы увидите, что данные в диапазоне D2: H13 были окружены пунктирной линией, см. Снимок экрана:

3 . Затем нажмите Ctrl + V , чтобы вставить его на другой лист, где вы хотите скопировать данные.


 Как скопировать данные с защищенного листа?

Предположим, вы получили файл Excel от другого человека, рабочие листы которого защищены пользователем, теперь вы хотите скопировать и вставить необработанные данные в другую новую книгу. Но данные на защищенном листе не могут быть выбраны и скопированы из-за того, что пользователь снял флажки «Выбрать заблокированные ячейки» и «Выбрать разблокированные ячейки» при защите рабочего листа. В этой статье я расскажу о некоторых быстрых приемах решения этой задачи в Excel.

документ копировать данные в защищенный лист 1

Скопируйте данные с защищенного листа с кодом VBA

Копирование данных с защищенного листа с помощью поля имени


стрелка синий правый пузырь Скопируйте данные с защищенного листа с кодом VBA

Следующий простой код может помочь вам скопировать данные в активный защищенный лист, сделайте следующее:

1. Активируйте защищенный лист, с которого вы хотите скопировать данные, а затем удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно, затем нажмите Ctrl + G Ключи для открытия Немедленная окно, а затем скопируйте приведенный ниже код сценария в Немедленная окна:

Activesheet.Cells.Select

документ копировать данные в защищенный лист 2

2. И нажмите Enter клавишу, затем нажмите Ctrl + C , чтобы скопировать данные листа, а затем активировать другую книгу или новый лист, куда вы хотите вставить этот лист, и поместите курсор в ячейку A1, а затем удерживайте Ctrl + V чтобы вставить его.


стрелка синий правый пузырь Копирование данных с защищенного листа с помощью поля имени

Если вам нужно скопировать определенный диапазон данных с листа защиты, вы можете применить Имя Box чтобы закончить эту работу.

1. Введите диапазон ячеек (D2: H13) в поле Имя Box напрямую и нажмите Enter ключ, см. снимок экрана:

документ копировать данные в защищенный лист 3

2. После нажатия Enter ключ, видимо ничего не происходит. Пожалуйста, ничего не делайте, просто нажмите Ctrl + C чтобы скопировать определенный диапазон, вы увидите, что данные в диапазоне D2: H13 были окружены пунктирной линией, см. снимок экрана:

документ копировать данные в защищенный лист 4

3, Затем нажмите Ctrl + V чтобы вставить его на другой лист, куда вы хотите скопировать данные.


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (27)


Оценок пока нет. Оцените первым!

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Копирование в word во всем документе
  • Копии файлов word при открытии
  • Копирование в word в текстовом документе
  • Копии открываемых файлов excel
  • Копирование в word 2016

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии