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

Вход

Регистрация

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

 

= Мир MS Excel/Перенос данных по кнопке - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос данных по кнопке (Макросы/Sub)
Перенос данных по кнопке
Oh_Nick Дата: Четверг, 23.07.2020, 15:45 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 8 ±
Замечаний: 20% ±

Excel 2019
Ребята, нужна помощь:

Нужно переносить данные из одного файла эксель в другой. При этом файл , из которого нужно подтягивать данные меняется каждый месяц. Можно сделать эту кнопку на втором листе этого файла и этот лист не трогать, а второй обновлять. Во вложении файлы:

1) На листе Spot-price savings есть колонки: Date, Ref for shipment, Saving based on tender RUB, Saving based on tender EUR, Savings %, Comments, Saving type. Вот сюда должны подтягиваться данные из второго файла.
2) В этом файле нам нужно отфильтровать колонку Selected provider и выбрать только Interrail, Samskip,Militzer & Muench и подтянуть в тот файл след. значения:
Request creation date в Date ; PO # / SO # / WBS # в Ref for shipment, Cost avoidance в Saving based on tender RUB, Cost avoidance percentage в Savings %.

Очень нужна помощь!
К сообщению приложен файл: 9478539.xlsm (176.3 Kb) · 01_Jan-06_Jun.xlsx (71.9 Kb)
 
Ответить
СообщениеРебята, нужна помощь:

Нужно переносить данные из одного файла эксель в другой. При этом файл , из которого нужно подтягивать данные меняется каждый месяц. Можно сделать эту кнопку на втором листе этого файла и этот лист не трогать, а второй обновлять. Во вложении файлы:

1) На листе Spot-price savings есть колонки: Date, Ref for shipment, Saving based on tender RUB, Saving based on tender EUR, Savings %, Comments, Saving type. Вот сюда должны подтягиваться данные из второго файла.
2) В этом файле нам нужно отфильтровать колонку Selected provider и выбрать только Interrail, Samskip,Militzer & Muench и подтянуть в тот файл след. значения:
Request creation date в Date ; PO # / SO # / WBS # в Ref for shipment, Cost avoidance в Saving based on tender RUB, Cost avoidance percentage в Savings %.

Очень нужна помощь!

Автор - Oh_Nick
Дата добавления - 23.07.2020 в 15:45
Oh_Nick Дата: Суббота, 25.07.2020, 13:24 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 8 ±
Замечаний: 20% ±

Excel 2019
Может нужны еще уточнения? %)
 
Ответить
СообщениеМожет нужны еще уточнения? %)

Автор - Oh_Nick
Дата добавления - 25.07.2020 в 13:24
InExSu Дата: Суббота, 25.07.2020, 13:52 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация: 96 ±
Замечаний: 0% ±

Excel 2010, 365
Привет!

Нужны.
Пожалуйста, замените "одного", "этот" и т.п. на названия объектов.


Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
 
Ответить
СообщениеПривет!

Нужны.
Пожалуйста, замените "одного", "этот" и т.п. на названия объектов.

Автор - InExSu
Дата добавления - 25.07.2020 в 13:52
Hugo Дата: Суббота, 25.07.2020, 16:28 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3253
Репутация: 707 ±
Замечаний: 0% ±

2019
А в чём собственно нужна помощь? Сделать работу? Это не помощь, это работа...
Хотя неспеша разгрёб:
[vba]
Код

Sub tt()
    Dim a, i&

    a = Workbooks("01_Jan-06_Jun.xlsx").Sheets(1).ListObjects("R90096784").DataBodyRange.Value
    For i = 1 To UBound(a)
        Select Case a(i, 11)
        Case "InterRail Service", "Samskip", "Militzer & Muench"
            x = x + 1
            a(x, 1) = a(i, 5)
            a(x, 2) = a(i, 64)
            a(x, 3) = a(i, 27)
            a(x, 4) = Empty
            a(x, 5) = a(i, 28)
        End Select
    Next
    
    With Sheets("Spot-price savings")
        .[A1].End(xlDown)(2).Resize(x, 5) = a
    End With
End Sub
[/vba]
Вообще чтоб писать код - нужно бы иметь файл без защиты....
Да и задачу нужно описывать без косяков!


excel@nxt.ru
webmoney: E265281470651 Z422237915069


Сообщение отредактировал Hugo - Суббота, 25.07.2020, 17:14
 
Ответить
СообщениеА в чём собственно нужна помощь? Сделать работу? Это не помощь, это работа...
Хотя неспеша разгрёб:
[vba]
Код

Sub tt()
    Dim a, i&

    a = Workbooks("01_Jan-06_Jun.xlsx").Sheets(1).ListObjects("R90096784").DataBodyRange.Value
    For i = 1 To UBound(a)
        Select Case a(i, 11)
        Case "InterRail Service", "Samskip", "Militzer & Muench"
            x = x + 1
            a(x, 1) = a(i, 5)
            a(x, 2) = a(i, 64)
            a(x, 3) = a(i, 27)
            a(x, 4) = Empty
            a(x, 5) = a(i, 28)
        End Select
    Next
    
    With Sheets("Spot-price savings")
        .[A1].End(xlDown)(2).Resize(x, 5) = a
    End With
End Sub
[/vba]
Вообще чтоб писать код - нужно бы иметь файл без защиты....
Да и задачу нужно описывать без косяков!

Автор - Hugo
Дата добавления - 25.07.2020 в 16:28
Oh_Nick Дата: Понедельник, 27.07.2020, 08:17 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 8 ±
Замечаний: 20% ±

Excel 2019
Поправил описание:

Нужно переносить данные из файла, где содержатся колонки company , requesting location и тд в в другой. При этом файл с колонками company,requesting location и тд , из которого нужно подтягивать данные меняется каждый месяц. Можно сделать эту кнопку на втором листе этого файла и этот лист не трогать, а второй обновлять. Во вложении файлы:

1) На листе Spot-price savings есть колонки: Date, Ref for shipment, Saving based on tender RUB, Saving based on tender EUR, Savings %, Comments, Saving type. Вот сюда должны подтягиваться данные из файла с колонками company,requesting location.
2) В файле с колонками company, requesting location нужно отфильтровать колонку Selected provider и выбрать только Interrail, Samskip,Militzer & Muench и подтянуть в тот файл след. значения:
Request creation date в Date ; PO # / SO # / WBS # в Ref for shipment, Cost avoidance в Saving based on tender RUB, Cost avoidance percentage в Savings %.

Приложил файл без паролей.
К сообщению приложен файл: 7603902.xlsx (74.4 Kb) · 0145445.xlsm (176.2 Kb)
 
Ответить
СообщениеПоправил описание:

Нужно переносить данные из файла, где содержатся колонки company , requesting location и тд в в другой. При этом файл с колонками company,requesting location и тд , из которого нужно подтягивать данные меняется каждый месяц. Можно сделать эту кнопку на втором листе этого файла и этот лист не трогать, а второй обновлять. Во вложении файлы:

1) На листе Spot-price savings есть колонки: Date, Ref for shipment, Saving based on tender RUB, Saving based on tender EUR, Savings %, Comments, Saving type. Вот сюда должны подтягиваться данные из файла с колонками company,requesting location.
2) В файле с колонками company, requesting location нужно отфильтровать колонку Selected provider и выбрать только Interrail, Samskip,Militzer & Muench и подтянуть в тот файл след. значения:
Request creation date в Date ; PO # / SO # / WBS # в Ref for shipment, Cost avoidance в Saving based on tender RUB, Cost avoidance percentage в Savings %.

Приложил файл без паролей.

Автор - Oh_Nick
Дата добавления - 27.07.2020 в 08:17
Hugo Дата: Понедельник, 27.07.2020, 10:27 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3253
Репутация: 707 ±
Замечаний: 0% ±

2019
1. Рабочий код для первого примера выше уже написан. Чтобы сделать для всех - нужно определиться как находить вторую книгу, хотя если она неизменна - то можно явно её указать в коде.
И "R90096784" лучше заменить на 1, вдруг имя источника поменяется.
2. А косяк описания так и не исправили. С такой невнимательностью ничего работать не будет... Нет в данных столбца Interrail!
[vba]
Код


Sub tt()
    Dim a, i&, x&

    a = ThisWorkbook.Sheets(1).ListObjects(1).DataBodyRange.Value
    For i = 1 To UBound(a)
        Select Case a(i, 11)
        Case "InterRail Service", "Samskip", "Militzer & Muench"
            x = x + 1
            a(x, 1) = a(i, 5)
            a(x, 2) = a(i, 64)
            a(x, 3) = a(i, 27)
            a(x, 4) = Empty
            a(x, 5) = a(i, 28)
        End Select
    Next
    
    With Workbooks("0145445.xlsm").Sheets("Spot-price savings")
        .[A1].End(xlDown)(2).Resize(x, 5) = a
    End With
End Sub
[/vba]
К сообщению приложен файл: 7603902.xlsm (81.0 Kb)


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
Сообщение1. Рабочий код для первого примера выше уже написан. Чтобы сделать для всех - нужно определиться как находить вторую книгу, хотя если она неизменна - то можно явно её указать в коде.
И "R90096784" лучше заменить на 1, вдруг имя источника поменяется.
2. А косяк описания так и не исправили. С такой невнимательностью ничего работать не будет... Нет в данных столбца Interrail!
[vba]
Код


Sub tt()
    Dim a, i&, x&

    a = ThisWorkbook.Sheets(1).ListObjects(1).DataBodyRange.Value
    For i = 1 To UBound(a)
        Select Case a(i, 11)
        Case "InterRail Service", "Samskip", "Militzer & Muench"
            x = x + 1
            a(x, 1) = a(i, 5)
            a(x, 2) = a(i, 64)
            a(x, 3) = a(i, 27)
            a(x, 4) = Empty
            a(x, 5) = a(i, 28)
        End Select
    Next
    
    With Workbooks("0145445.xlsm").Sheets("Spot-price savings")
        .[A1].End(xlDown)(2).Resize(x, 5) = a
    End With
End Sub
[/vba]

Автор - Hugo
Дата добавления - 27.07.2020 в 10:27
Oh_Nick Дата: Вторник, 28.07.2020, 08:00 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 8 ±
Замечаний: 20% ±

Excel 2019
Спасибо, получилось разобраться!
 
Ответить
СообщениеСпасибо, получилось разобраться!

Автор - Oh_Nick
Дата добавления - 28.07.2020 в 08:00
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос данных по кнопке (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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