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

Вход

Регистрация

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

 

= Мир MS Excel/Указать путь к файлу через ячейку и скопировать данные - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Указать путь к файлу через ячейку и скопировать данные (Макросы/Sub)
Указать путь к файлу через ячейку и скопировать данные
parovoznik Дата: Вторник, 13.11.2018, 16:31 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 442
Репутация: 26 ±
Замечаний: 0% ±

Excel 2013
Добрый день .
Имеется 2 файла "Дислокация"-запуск макроса для получения данных с закрытой книги.
файл " ф7_Н8В3_5хх" -данные для обработки.
На данный момент макрос обрабатывает данные,но в процессе работы нужно переименовывать название файла с которого берутся данные(название меняются каждый день) ,а если приходится Работать на дому ,то нужно указывать другой путь.
Я решил усовершенствовать обработку.
+выбираем файл через диалоговое окно и прописываем путь к файлу в ячейке А1.

А как теперь скопировать данные с файла(" ф7_Н8В3_5хх") и перенести в другой файл ("Дислокация")?
Имена файлов для обработки МЕНЯЮТСЯ каждый день.
В архиве два файла.
К сообщению приложен файл: 0970311.rar (31.7 Kb)
 
Ответить
СообщениеДобрый день .
Имеется 2 файла "Дислокация"-запуск макроса для получения данных с закрытой книги.
файл " ф7_Н8В3_5хх" -данные для обработки.
На данный момент макрос обрабатывает данные,но в процессе работы нужно переименовывать название файла с которого берутся данные(название меняются каждый день) ,а если приходится Работать на дому ,то нужно указывать другой путь.
Я решил усовершенствовать обработку.
+выбираем файл через диалоговое окно и прописываем путь к файлу в ячейке А1.

А как теперь скопировать данные с файла(" ф7_Н8В3_5хх") и перенести в другой файл ("Дислокация")?
Имена файлов для обработки МЕНЯЮТСЯ каждый день.
В архиве два файла.

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

Excel 2010
это[vba]
Код
    Workbooks.Open Filename:=ИмяФайла
[/vba]нужно?


ЮMoney 41001841029809
 
Ответить
Сообщениеэто[vba]
Код
    Workbooks.Open Filename:=ИмяФайла
[/vba]нужно?

Автор - Nic70y
Дата добавления - 13.11.2018 в 18:38
parovoznik Дата: Вторник, 13.11.2018, 19:37 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 442
Репутация: 26 ±
Замечаний: 0% ±

Excel 2013
Это для проверки.
 
Ответить
СообщениеЭто для проверки.

Автор - parovoznik
Дата добавления - 13.11.2018 в 19:37
RAN Дата: Вторник, 13.11.2018, 20:31 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Писанины много.
Вы не знаете как написать?
[vba]
Код
x=[A1]
' или
x=range("A1")
' или
x=range("A1").Value
[/vba]
Или вы не знаете, как открыть файл "x"?


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеПисанины много.
Вы не знаете как написать?
[vba]
Код
x=[A1]
' или
x=range("A1")
' или
x=range("A1").Value
[/vba]
Или вы не знаете, как открыть файл "x"?

Автор - RAN
Дата добавления - 13.11.2018 в 20:31
parovoznik Дата: Вторник, 13.11.2018, 21:18 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 442
Репутация: 26 ±
Замечаний: 0% ±

Excel 2013
RAN, если бы знал,то не обращался бы.
Файл открывается , а как потом скопировать данные с учетом выбранного пути,это не знаю.
Поэтому обратился за помощью. :(
 
Ответить
СообщениеRAN, если бы знал,то не обращался бы.
Файл открывается , а как потом скопировать данные с учетом выбранного пути,это не знаю.
Поэтому обратился за помощью. :(

Автор - parovoznik
Дата добавления - 13.11.2018 в 21:18
RAN Дата: Вторник, 13.11.2018, 21:33 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
выбираем файл через диалоговое окно и прописываем путь к файлу в ячейке А1.

тут, как я понял, вопросов нет.
Файл открывается

тут, как я понял, тоже
а как потом скопировать данные

вполне себе обычное копирование
а это
а как потом скопировать данные с учетом выбранного пути

Чебурашка, или не известный науке зверь.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
выбираем файл через диалоговое окно и прописываем путь к файлу в ячейке А1.

тут, как я понял, вопросов нет.
Файл открывается

тут, как я понял, тоже
а как потом скопировать данные

вполне себе обычное копирование
а это
а как потом скопировать данные с учетом выбранного пути

Чебурашка, или не известный науке зверь.

Автор - RAN
Дата добавления - 13.11.2018 в 21:33
parovoznik Дата: Вторник, 13.11.2018, 21:37 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 442
Репутация: 26 ±
Замечаний: 0% ±

Excel 2013
RAN, помогите в данном вопросе. :(
 
Ответить
СообщениеRAN, помогите в данном вопросе. :(

Автор - parovoznik
Дата добавления - 13.11.2018 в 21:37
RAN Дата: Вторник, 13.11.2018, 21:42 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Чебурашки не мой профиль.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеЧебурашки не мой профиль.

Автор - RAN
Дата добавления - 13.11.2018 в 21:42
parovoznik Дата: Вторник, 13.11.2018, 22:09 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 442
Репутация: 26 ±
Замечаний: 0% ±

Excel 2013
RAN, извините может не грамотно описал.
открыли книгу ,как потом скопировать данные в новую книгу


Сообщение отредактировал parovoznik - Среда, 14.11.2018, 07:23
 
Ответить
СообщениеRAN, извините может не грамотно описал.
открыли книгу ,как потом скопировать данные в новую книгу

Автор - parovoznik
Дата добавления - 13.11.2018 в 22:09
_Boroda_ Дата: Вторник, 13.11.2018, 22:12 | Сообщение № 10
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так нужно?
[vba]
Код
Sub Get_Value_From_Close_Book2()
    On Error Resume Next
    fn_ = Range("A1")
    fn0_ = Mid(fn_, InStrRev(fn_, "\") + 1)
    With Workbooks(fn0_)
        .Worksheets("TDSheet").Range("A4").Resize(5, 14).Copy Range("A5").Resize(5, 14)
        .Close
    End With
End Sub

Sub ОткрытьФайл()
    ИмяФайла = Application.GetOpenFilename(, , "Выбор файла") ' запрашиваем имя файла
    Range("A1") = ИмяФайла
    If ИмяФайла = False Then Exit Sub    ' выход, если пользователь отказался от выбора файла
    Workbooks.Open ИмяФайла
End Sub
'=============
'Или всё сразу
Sub tt()
    fn_ = Application.GetOpenFilename(, , "Выбор файла")
    Range("A1") = fn_
    If fn_ = False Then Exit Sub    ' выход, если пользователь отказался от выбора файла
    Workbooks.Open fn_
    fn0_ = Mid(fn_, InStrRev(fn_, "\") + 1)
    ThisWorkbook.Activate
    With Workbooks(fn0_)
        .Worksheets("TDSheet").Range("A4").Resize(5, 14).Copy Range("A5").Resize(5, 14)
        .Close 0
    End With
End Sub
[/vba]

* Чуть подправил и файл довложил
К сообщению приложен файл: 8490649.xlsm (26.1 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995


Сообщение отредактировал _Boroda_ - Вторник, 13.11.2018, 22:17
 
Ответить
СообщениеТак нужно?
[vba]
Код
Sub Get_Value_From_Close_Book2()
    On Error Resume Next
    fn_ = Range("A1")
    fn0_ = Mid(fn_, InStrRev(fn_, "\") + 1)
    With Workbooks(fn0_)
        .Worksheets("TDSheet").Range("A4").Resize(5, 14).Copy Range("A5").Resize(5, 14)
        .Close
    End With
End Sub

Sub ОткрытьФайл()
    ИмяФайла = Application.GetOpenFilename(, , "Выбор файла") ' запрашиваем имя файла
    Range("A1") = ИмяФайла
    If ИмяФайла = False Then Exit Sub    ' выход, если пользователь отказался от выбора файла
    Workbooks.Open ИмяФайла
End Sub
'=============
'Или всё сразу
Sub tt()
    fn_ = Application.GetOpenFilename(, , "Выбор файла")
    Range("A1") = fn_
    If fn_ = False Then Exit Sub    ' выход, если пользователь отказался от выбора файла
    Workbooks.Open fn_
    fn0_ = Mid(fn_, InStrRev(fn_, "\") + 1)
    ThisWorkbook.Activate
    With Workbooks(fn0_)
        .Worksheets("TDSheet").Range("A4").Resize(5, 14).Copy Range("A5").Resize(5, 14)
        .Close 0
    End With
End Sub
[/vba]

* Чуть подправил и файл довложил

Автор - _Boroda_
Дата добавления - 13.11.2018 в 22:12
parovoznik Дата: Среда, 14.11.2018, 07:26 | Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 442
Репутация: 26 ±
Замечаний: 0% ±

Excel 2013
_Boroda_, так все верно .Только почему копирует только четыре строки?
Я добавил данные на 10 строк,но копирует все равно только четыре? :o
 
Ответить
Сообщение_Boroda_, так все верно .Только почему копирует только четыре строки?
Я добавил данные на 10 строк,но копирует все равно только четыре? :o

Автор - parovoznik
Дата добавления - 14.11.2018 в 07:26
_Boroda_ Дата: Среда, 14.11.2018, 07:53 | Сообщение № 12
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Ищите вот здесь
[vba]
Код
Resize(5, 14)
[/vba]Там 2 таких Ресайза. Вместо 5 нужно 11. Но у Вас в приложенном файле было именно так, откуда я мог знать как Вам нужно?
По идее там нужно что-то типа (на работу тороплюсь, без проверки сходу пишу, могу накосячить)
[vba]
Код
.Worksheets("TDSheet").Range("A" & .Worksheets("TDSheet").Rows.count).end(3).row
[/vba]

А вообще-то нужно бы показать что Вы добавили куда

* Доехал до работы. Держите
К сообщению приложен файл: 8490649_1.xlsm (25.7 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеИщите вот здесь
[vba]
Код
Resize(5, 14)
[/vba]Там 2 таких Ресайза. Вместо 5 нужно 11. Но у Вас в приложенном файле было именно так, откуда я мог знать как Вам нужно?
По идее там нужно что-то типа (на работу тороплюсь, без проверки сходу пишу, могу накосячить)
[vba]
Код
.Worksheets("TDSheet").Range("A" & .Worksheets("TDSheet").Rows.count).end(3).row
[/vba]

А вообще-то нужно бы показать что Вы добавили куда

* Доехал до работы. Держите

Автор - _Boroda_
Дата добавления - 14.11.2018 в 07:53
parovoznik Дата: Среда, 14.11.2018, 10:18 | Сообщение № 13
Группа: Проверенные
Ранг: Обитатель
Сообщений: 442
Репутация: 26 ±
Замечаний: 0% ±

Excel 2013
Александр,благодарю за помощь. Все работает. hands
 
Ответить
СообщениеАлександр,благодарю за помощь. Все работает. hands

Автор - parovoznik
Дата добавления - 14.11.2018 в 10:18
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Указать путь к файлу через ячейку и скопировать данные (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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