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

Вход

Регистрация

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

 

= Мир MS Excel/Указать значение в макросе. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Указать значение в макросе.
1denes1 Дата: Воскресенье, 11.08.2024, 01:13 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Есть восхитительный макрос, который копирует данные из указанной книги в активную. Он отлично работает единственное нужно чтобы он копировал данные как значения. Спасите, помогите, подскажите!!! )) Спасибо большое.

[vba]
Код
Sub LoadData()
Dim wbData As Workbook, sPath As String

If MsgBox("Загрузить данные на лист Данные?", vbQuestion + vbYesNo, "Загрузка данных") = vbNo Then Exit Sub

'очищаем данные на листе Данные
With Worksheets("Данные")
Range("B14:H19").Clear

End With

'запрашиваем путь к файлу
sPath = Application.GetOpenFilename("Файлы Excel (*.xls*),*.xls*", 1, "Выберите файл с данными", , False)
If sPath = "False" Then Exit Sub

'отключаем обновление экрана
Application.ScreenUpdating = False

'открываем файл с данными
Set wbData = Workbooks.Open(sPath, UpdateLinks:=False, ReadOnly:=True)

'копируем столбцы
wbData.Worksheets("Лист1"). Range("B14:H19").Copy ThisWorkbook.Worksheets("Данные").Range("B14")

'закрываем файл с данными
wbData.Close SaveChanges:=False

'включаем обновление экрана
Application.ScreenUpdating = True

MsgBox "Данные на лист База загружены!", vbInformation, "Загрузка данных"
End Sub
[/vba]
 
Ответить
СообщениеЕсть восхитительный макрос, который копирует данные из указанной книги в активную. Он отлично работает единственное нужно чтобы он копировал данные как значения. Спасите, помогите, подскажите!!! )) Спасибо большое.

[vba]
Код
Sub LoadData()
Dim wbData As Workbook, sPath As String

If MsgBox("Загрузить данные на лист Данные?", vbQuestion + vbYesNo, "Загрузка данных") = vbNo Then Exit Sub

'очищаем данные на листе Данные
With Worksheets("Данные")
Range("B14:H19").Clear

End With

'запрашиваем путь к файлу
sPath = Application.GetOpenFilename("Файлы Excel (*.xls*),*.xls*", 1, "Выберите файл с данными", , False)
If sPath = "False" Then Exit Sub

'отключаем обновление экрана
Application.ScreenUpdating = False

'открываем файл с данными
Set wbData = Workbooks.Open(sPath, UpdateLinks:=False, ReadOnly:=True)

'копируем столбцы
wbData.Worksheets("Лист1"). Range("B14:H19").Copy ThisWorkbook.Worksheets("Данные").Range("B14")

'закрываем файл с данными
wbData.Close SaveChanges:=False

'включаем обновление экрана
Application.ScreenUpdating = True

MsgBox "Данные на лист База загружены!", vbInformation, "Загрузка данных"
End Sub
[/vba]

Автор - 1denes1
Дата добавления - 11.08.2024 в 01:13
Pelena Дата: Воскресенье, 11.08.2024, 07:58 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19409
Репутация: 4558 ±
Замечаний: ±

Excel 365 & Mac Excel
Можно попробовать через массив. Файла нет, поэтому не тестировала
[vba]
Код
Sub LoadData()
Dim wbData As Workbook, sPath As String, arr

If MsgBox("Загрузить данные на лист Данные?", vbQuestion + vbYesNo, "Загрузка данных") = vbNo Then Exit Sub

'очищаем данные на листе Данные
With Worksheets("Данные")
Range("B14:H19").Clear

End With

'запрашиваем путь к файлу
sPath = Application.GetOpenFilename("Файлы Excel (*.xls*),*.xls*", 1, "Выберите файл с данными", , False)
If sPath = "False" Then Exit Sub

'отключаем обновление экрана
Application.ScreenUpdating = False

'открываем файл с данными
Set wbData = Workbooks.Open(sPath, UpdateLinks:=False, ReadOnly:=True)

'копируем столбцы
arr=wbData.Worksheets("Лист1"). Range("B14:H19").Value
ThisWorkbook.Worksheets("Данные").Range("B14").Resize(6,7)=arr

'закрываем файл с данными
wbData.Close SaveChanges:=False

'включаем обновление экрана
Application.ScreenUpdating = True

MsgBox "Данные на лист База загружены!", vbInformation, "Загрузка данных"
End Sub
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеМожно попробовать через массив. Файла нет, поэтому не тестировала
[vba]
Код
Sub LoadData()
Dim wbData As Workbook, sPath As String, arr

If MsgBox("Загрузить данные на лист Данные?", vbQuestion + vbYesNo, "Загрузка данных") = vbNo Then Exit Sub

'очищаем данные на листе Данные
With Worksheets("Данные")
Range("B14:H19").Clear

End With

'запрашиваем путь к файлу
sPath = Application.GetOpenFilename("Файлы Excel (*.xls*),*.xls*", 1, "Выберите файл с данными", , False)
If sPath = "False" Then Exit Sub

'отключаем обновление экрана
Application.ScreenUpdating = False

'открываем файл с данными
Set wbData = Workbooks.Open(sPath, UpdateLinks:=False, ReadOnly:=True)

'копируем столбцы
arr=wbData.Worksheets("Лист1"). Range("B14:H19").Value
ThisWorkbook.Worksheets("Данные").Range("B14").Resize(6,7)=arr

'закрываем файл с данными
wbData.Close SaveChanges:=False

'включаем обновление экрана
Application.ScreenUpdating = True

MsgBox "Данные на лист База загружены!", vbInformation, "Загрузка данных"
End Sub
[/vba]

Автор - Pelena
Дата добавления - 11.08.2024 в 07:58
1denes1 Дата: Среда, 21.08.2024, 03:17 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Pelena, спасибо за ответ. На массив ругается. Прикладываю файл, сделал кнопку для удобства. Макрос копирует диапазон из выбранной книги A1:B10 с листа "Лист1" и вставляет в А1 на лист "Данные" этой книги. Вот как сделать чтобы вставлял как значение?
К сообщению приложен файл: perenos_dannykh.xlsm (19.0 Kb)
 
Ответить
СообщениеPelena, спасибо за ответ. На массив ругается. Прикладываю файл, сделал кнопку для удобства. Макрос копирует диапазон из выбранной книги A1:B10 с листа "Лист1" и вставляет в А1 на лист "Данные" этой книги. Вот как сделать чтобы вставлял как значение?

Автор - 1denes1
Дата добавления - 21.08.2024 в 03:17
Hugo Дата: Среда, 21.08.2024, 09:01 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3703
Репутация: 792 ±
Замечаний: 0% ±

365
На массив ругается.
- защищу код Pelena, ничего не ругается, проверил в Вашем файле.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD


Сообщение отредактировал Hugo - Среда, 21.08.2024, 09:02
 
Ответить
Сообщение
На массив ругается.
- защищу код Pelena, ничего не ругается, проверил в Вашем файле.

Автор - Hugo
Дата добавления - 21.08.2024 в 09:01
1denes1 Дата: Четверг, 22.08.2024, 03:01 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Доброго времени! Ругался на название листов, я просто балбес.
ИЗВИНЯЮСЬ, это то что нужно!!! Елена спасибо большое за Вашу помощь. За ник отдельный респект! ))
 
Ответить
СообщениеДоброго времени! Ругался на название листов, я просто балбес.
ИЗВИНЯЮСЬ, это то что нужно!!! Елена спасибо большое за Вашу помощь. За ник отдельный респект! ))

Автор - 1denes1
Дата добавления - 22.08.2024 в 03:01
  • Страница 1 из 1
  • 1
Поиск:

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