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

Вход

Регистрация

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

 

= Мир MS Excel/Как скопировать значения с защищенного листа - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как скопировать значения с защищенного листа (Макросы/Sub)
Как скопировать значения с защищенного листа
maryo Дата: Вторник, 12.06.2018, 11:24 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Уважаемые господа Программисты! У меня вопрос, как можно скопировать данные с защищенного листа только к "открытым" ячейкам другого файла? К примеру, у меня имеется файлы "Регион" и "Общий". Применял макросы но они дали ошибку - файл защищен. Ни как не смог скопировать значения листа "Сводный" файла Регион только ""открытым" ячейкам листа "Все" файла "Общий".
К сообщению приложен файл: 3848898.xlsx (18.9 Kb)
 
Ответить
СообщениеУважаемые господа Программисты! У меня вопрос, как можно скопировать данные с защищенного листа только к "открытым" ячейкам другого файла? К примеру, у меня имеется файлы "Регион" и "Общий". Применял макросы но они дали ошибку - файл защищен. Ни как не смог скопировать значения листа "Сводный" файла Регион только ""открытым" ячейкам листа "Все" файла "Общий".

Автор - maryo
Дата добавления - 12.06.2018 в 11:24
Nic70y Дата: Вторник, 12.06.2018, 11:51 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8705
Репутация: 2260 ±
Замечаний: 0% ±

Excel 2010
только к "открытым" ячейкам другого файла?
а вообще думали, когда знали?


ЮMoney 41001841029809
 
Ответить
Сообщение
только к "открытым" ячейкам другого файла?
а вообще думали, когда знали?

Автор - Nic70y
Дата добавления - 12.06.2018 в 11:51
maryo Дата: Вторник, 12.06.2018, 12:20 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Nic70y, к "верхушке" не отправить- же файлы с формулами. Вот и суммирую по региону и этих сводных данных перекинув в пустую форму отправлю.


Сообщение отредактировал maryo - Вторник, 12.06.2018, 13:17
 
Ответить
СообщениеNic70y, к "верхушке" не отправить- же файлы с формулами. Вот и суммирую по региону и этих сводных данных перекинув в пустую форму отправлю.

Автор - maryo
Дата добавления - 12.06.2018 в 12:20
StoTisteg Дата: Вторник, 12.06.2018, 12:41 | Сообщение № 4
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
Подсказка: LibreOffice плевать хотел на все защиты.


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
СообщениеПодсказка: LibreOffice плевать хотел на все защиты.

Автор - StoTisteg
Дата добавления - 12.06.2018 в 12:41
maryo Дата: Среда, 20.06.2018, 08:48 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Неужели никто не знает копирование значений (переброс данных без формул) в аналогичный защищенный лист файла эксель, в этом форуме ???


Сообщение отредактировал maryo - Среда, 20.06.2018, 08:49
 
Ответить
СообщениеНеужели никто не знает копирование значений (переброс данных без формул) в аналогичный защищенный лист файла эксель, в этом форуме ???

Автор - maryo
Дата добавления - 20.06.2018 в 08:48
_Boroda_ Дата: Среда, 20.06.2018, 09:13 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Поставьте прямые ссылки. Можно даже на закрытый файл.
Например, в А1 своего листа напишите
Код
='G:\Моя\Стереть\[3848898.xlsx]Все'!A1
, где G:\Моя\Стереть\[3848898.xlsx] - путь к тому файлу, а Все - название листа


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПоставьте прямые ссылки. Можно даже на закрытый файл.
Например, в А1 своего листа напишите
Код
='G:\Моя\Стереть\[3848898.xlsx]Все'!A1
, где G:\Моя\Стереть\[3848898.xlsx] - путь к тому файлу, а Все - название листа

Автор - _Boroda_
Дата добавления - 20.06.2018 в 09:13
SLAVICK Дата: Среда, 20.06.2018, 09:17 | Сообщение № 7
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Неужели никто не знает

Вам уже StoTisteg дал подсказку.
А вообще пишите формулу на незащищенном листе, в ячейку A1:
Код
=Сводный!A1

Применял макросы но они дали ошибку

макросом тоже можно - при чем макрос на одну строку...
[vba]
Код
Sheets("Сводный").Range("a1:aa100").Value = Sheets("Куда скопировать").Range("a1:aa100").Value
[/vba]


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
Неужели никто не знает

Вам уже StoTisteg дал подсказку.
А вообще пишите формулу на незащищенном листе, в ячейку A1:
Код
=Сводный!A1

Применял макросы но они дали ошибку

макросом тоже можно - при чем макрос на одну строку...
[vba]
Код
Sheets("Сводный").Range("a1:aa100").Value = Sheets("Куда скопировать").Range("a1:aa100").Value
[/vba]

Автор - SLAVICK
Дата добавления - 20.06.2018 в 09:17
maryo Дата: Среда, 20.06.2018, 09:21 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
_Boroda_, не вставить ссылку, а просто переносить только значения со сводного в пустой лист имеющий одинаковую структуру и защищенные ячейки.
Здесь просто макрос помогает.


Сообщение отредактировал maryo - Среда, 20.06.2018, 09:25
 
Ответить
Сообщение_Boroda_, не вставить ссылку, а просто переносить только значения со сводного в пустой лист имеющий одинаковую структуру и защищенные ячейки.
Здесь просто макрос помогает.

Автор - maryo
Дата добавления - 20.06.2018 в 09:21
maryo Дата: Среда, 20.06.2018, 09:34 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
SLAVICK, касательно LibreOffice, просто с "верхушки" отправили эксель файл. Я свои сводные данные состоящий из формул должен переносить на их ни эксель файл. А касательно макроса попробую.


Сообщение отредактировал maryo - Среда, 20.06.2018, 09:35
 
Ответить
СообщениеSLAVICK, касательно LibreOffice, просто с "верхушки" отправили эксель файл. Я свои сводные данные состоящий из формул должен переносить на их ни эксель файл. А касательно макроса попробую.

Автор - maryo
Дата добавления - 20.06.2018 в 09:34
SLAVICK Дата: Среда, 20.06.2018, 09:35 | Сообщение № 10
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
пустой лист .... и защищенные ячейки.

а зачем на пустом листе защита? - снимите ее.
КАК? - тут не спрашивайте - запрещено обсуждать по правилам форума - скажу только что в инете есть куча инфы по этому вопросу.
А касательно макроса попробую.

не этот макрос не поможет - он может скопировать значения С защищенного листа, но не В
Дам подсказку по подмене значений - копайте структуру файла, и xml листа:
Цитата
xl\worksheets\sheet1.xml


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
пустой лист .... и защищенные ячейки.

а зачем на пустом листе защита? - снимите ее.
КАК? - тут не спрашивайте - запрещено обсуждать по правилам форума - скажу только что в инете есть куча инфы по этому вопросу.
А касательно макроса попробую.

не этот макрос не поможет - он может скопировать значения С защищенного листа, но не В
Дам подсказку по подмене значений - копайте структуру файла, и xml листа:
Цитата
xl\worksheets\sheet1.xml

Автор - SLAVICK
Дата добавления - 20.06.2018 в 09:35
maryo Дата: Среда, 20.06.2018, 09:37 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
запрещено обсуждать по правилам форума

SLAVICK, понимаю))) спасибо..
 
Ответить
Сообщение
запрещено обсуждать по правилам форума

SLAVICK, понимаю))) спасибо..

Автор - maryo
Дата добавления - 20.06.2018 в 09:37
boa Дата: Среда, 20.06.2018, 15:26 | Сообщение № 12
Группа: Друзья
Ранг: Ветеран
Сообщений: 549
Репутация: 167 ±
Замечаний: 0% ±

365
maryo, данные с защищенного листа?
да пожалуйста, хоть с закрытой книги
[vba]
Код
Option Explicit
Const Filename$ = "C:\[путь к Excel'евскому файлу с данными]"
  
Sub DownloadData()
    Dim sSQL$: sSQL = "select * from [Лист1$]"  'имя защищенного листа с данными и "$"
    Dim CON As Object: Set CON = ExcelConnect(Filename)
    Dim RST As Object: Set RST = CreateObject("ADODB.Recordset")
    Dim MyArr()
    RST.Open Source:=sSQL, ActiveConnection:=CON
    If Not RST.EOF Then
        With ActiveSheet
'выгружаем все
        .Range("A1").CopyFromRecordset RST

' а можно конкретную ячейку выгрузить, например
'        MyArr = RST.GetRows
'        .Range("A1") = MyArr(3, 4)  '4-я строка, 5-й столбец
        End With
    Else
        ' Если нет данных то вывод сообщения:
        MsgBox "Нет данных удовлетворяющих условиям.", vbInformation + vbOKOnly, "Ошибка"
    End If
    Set RST = Nothing
    Set CON = Nothing
End Sub
  
Function ExcelConnect(ByVal PatchFile$, Optional TableHeader As Boolean = False) As Object
'TableHeader - Отметить True, если есть заголовки у таблицы и надо к столбцам обращаться по имени,
' иначе к столбцам можно обращаться F1, F2, F3 и т.д.
    Dim VersionFile$
    Dim strCon$
    Select Case Split(PatchFile, ".")(UBound(Split(PatchFile, ".")))
        Case "xls":  VersionFile = "Excel 8.0"
        Case "xlsb": VersionFile = "Excel 12.0"
        Case "xlsm": VersionFile = "Excel 12.0 Macro"
        Case "xlsx": VersionFile = "Excel 12.0 Xml"
    End Select
    strCon = "Provider=" & IIf(Val(Application.Version) > 11, "Microsoft.ACE.OLEDB.12.0", "Microsoft.Jet.OLEDB.4.0") & ";" & _
              "Data Source=""" & PatchFile & """;" & _
              "Extended Properties=""" & VersionFile & ";HDR=" & IIf(TableHeader, "YES", "NO") & """;"
    Set ExcelConnect = CreateObject("ADODB.Connection")
    ExcelConnect.Open strCon
End Function
[/vba]




Сообщение отредактировал boa - Среда, 20.06.2018, 15:47
 
Ответить
Сообщениеmaryo, данные с защищенного листа?
да пожалуйста, хоть с закрытой книги
[vba]
Код
Option Explicit
Const Filename$ = "C:\[путь к Excel'евскому файлу с данными]"
  
Sub DownloadData()
    Dim sSQL$: sSQL = "select * from [Лист1$]"  'имя защищенного листа с данными и "$"
    Dim CON As Object: Set CON = ExcelConnect(Filename)
    Dim RST As Object: Set RST = CreateObject("ADODB.Recordset")
    Dim MyArr()
    RST.Open Source:=sSQL, ActiveConnection:=CON
    If Not RST.EOF Then
        With ActiveSheet
'выгружаем все
        .Range("A1").CopyFromRecordset RST

' а можно конкретную ячейку выгрузить, например
'        MyArr = RST.GetRows
'        .Range("A1") = MyArr(3, 4)  '4-я строка, 5-й столбец
        End With
    Else
        ' Если нет данных то вывод сообщения:
        MsgBox "Нет данных удовлетворяющих условиям.", vbInformation + vbOKOnly, "Ошибка"
    End If
    Set RST = Nothing
    Set CON = Nothing
End Sub
  
Function ExcelConnect(ByVal PatchFile$, Optional TableHeader As Boolean = False) As Object
'TableHeader - Отметить True, если есть заголовки у таблицы и надо к столбцам обращаться по имени,
' иначе к столбцам можно обращаться F1, F2, F3 и т.д.
    Dim VersionFile$
    Dim strCon$
    Select Case Split(PatchFile, ".")(UBound(Split(PatchFile, ".")))
        Case "xls":  VersionFile = "Excel 8.0"
        Case "xlsb": VersionFile = "Excel 12.0"
        Case "xlsm": VersionFile = "Excel 12.0 Macro"
        Case "xlsx": VersionFile = "Excel 12.0 Xml"
    End Select
    strCon = "Provider=" & IIf(Val(Application.Version) > 11, "Microsoft.ACE.OLEDB.12.0", "Microsoft.Jet.OLEDB.4.0") & ";" & _
              "Data Source=""" & PatchFile & """;" & _
              "Extended Properties=""" & VersionFile & ";HDR=" & IIf(TableHeader, "YES", "NO") & """;"
    Set ExcelConnect = CreateObject("ADODB.Connection")
    ExcelConnect.Open strCon
End Function
[/vba]

Автор - boa
Дата добавления - 20.06.2018 в 15:26
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как скопировать значения с защищенного листа (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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