Страницы: 1
RSS
Макрос скопировать данные из одной книги с выбором в какую книгу
 
Здравствуйте. Помогите пожалуйста, очень срочно нужно!!! Вообщем есть файл "Книга1" она должна скопировать (ЗНАЧЕНИЯ) данные из "Книги2". Макрос у меня есть ,который копирует данные вместе с формулой а надо ЗНАЧЕНИЯ, вот он:
Код
Sub КопиВставка()
Workbooks.Open Filename:="C:\Users\Valera\Desktop\Новая папка (2)\Книга2.xlsm"
Workbooks("Книга2.xlsm").Worksheets("Инф. Заказчик").Range("A1:C16").Copy
Workbooks("Книга1.xlsm").Activate
ActiveWorkbook.Worksheets("Инф. Заказчик").Select
Range("A1").Select
ActiveSheet.Paste
Workbooks("Книга2.xlsm").Worksheets("Расчет выброса").Range("A1:C25").Copy
Workbooks("Книга1.xlsm").Activate
ActiveWorkbook.Worksheets("Расчет выброса").Select
Range("A1").Select
ActiveSheet.Paste
Workbooks("Книга2.xlsm").Close
End Sub
взял его отсюда http://www.excelworld.ru/forum/10-20202-1

Но нужно, чтобы я мог выбрать нужную книгу откуда копировать, как в этом примере:
Код
Function GetFileName(Optional ByVal Title As String = "Выберите файл для обработки", _
                     Optional ByVal InitialPath, _
                     Optional ByVal MyFilter As String = "Книги Excel (*.xls*),") As String
    ' функция выводит диалоговое окно выбора папки с заголовком Title,
    ' начиная обзор диска с папки InitialPath
    ' возвращает полный путь к выбранной папке, или пустую строку в случае отказа от выбора
    If Not IsMissing(InitialPath) Then
        On Error Resume Next: ChDrive Left(InitialPath, 1)
        ChDir InitialPath    ' выбираем стартовую папку
    End If
    res = Application.GetOpenFilename(MyFilter, , Title, "Открыть")  ' вывод диалогового окна
    GetFileName = IIf(VarType(res) = vbBoolean, "", res)    ' пустая строка при отказе от выбора
End Function
 
Sub ПримерИспользования_GetFileName()
    ИмяФайла = GetFileName("Заголовок окна", ThisWorkbook.Path)   ' запрашиваем имя файла
    ' ===================== другие варианты вызова функции =====================
    ' текстовые файлы, стартовая папка не указана
    '       ИмяФайла = GetFileName("Выберите текстовый файл", , "Текстовые файлы (*.txt),")
    ' файлы любого типа из папки "C:\Windows"
    '       ИмяФайла = GetFileName(, "C:\Windows", "")
    ' ==========================================================================

    If ИмяФайла = "" Then Exit Sub    ' выход, если пользователь отказался от выбора файла
    MsgBox "Выбран файл: " & ИмяФайла, vbInformation
End Sub

взял его отсюда https://excelvba.ru/code/GetFileOrFolderPath
Пожалуйста помогите, очень нужно.
 
Так?
 
Да, так!!! Спасибо!!! Единственное, что должен ещё вставлять значение лист "Инф. Заказчик", ячейка "G7",  таких может быть много
 
G7
 
Подскажите на что нужно поменять, чтобы он вставлял значения???
 
Пробуйте
 
Макрос получается после копирования в "книгу1" удаляет в ней все формулы в ней, а нужно чтобы этих формул не было только во вставляемые ячейки
 
Привет!
Попробуйте заменить строки копирования на
Скрытый текст
Сравнение прайсов, таблиц - без настроек
 
Здравствуйте. выдает ошибку
Код
Workbooks("Книга1.xlsm").Worksheets("Инф. Заказчик").Range("A1").PasteSpecial xlPasteValues
 
Ну тогда так:
 
Макрос с "Книги2 там где формула ссылается на ячейку, вставляет в "Книгу1" не значение а НОЛЬ
 
У меня формулы ссылаются за пределы копируемого диапазона
 
В примере у вас единственная формула (ссылка) в ячейке С6. Я проверил у меня все работает. Вставляется значение - 4568
Изменено: Андрей_26 - 25.12.2019 10:16:08
 
Все разобрался. Так:
 
Огромное Вам спасибо то что нужно!!!
Страницы: 1
Наверх