Страницы: 1
RSS
Определение местоположения файла, и перенос данных
 
Доброго времени суток! Очень нужна помощь.
Есть папка с именем "Проект 2016", в которой находится экселевский файл "Проект", и еще две папки 1 и 2, в которых еще по 12 файлов эксель с данными. В файле "Проект" я прописала макрос, который собирает данные с каждого файла в обеих папках, в одну таблицу. Вопрос: при копировании файла "Проект" в папку с именем "Проект 2017", в которой так же 2 папки по 12 файлов каждой. Можно ли, написать макрос для определения местоположения файла "Проект", так, что бы макрос переноса работал в этой папке без замены пути к папкам 1 и 2 в макросе? Надуюсь нормально объяснила.  
 
Цитата
Cheza написал:Надуюсь нормально объяснила.
А вы не надувайтесь, а почитайте правила и приложите файлик.
Или хотя бы макрос. А то вы че то там написали себе, а мы тут должны угадать и переделать)
 
Извините, за поспешность.. Просто начальник требует, а я подобным программированием занималась еще в институте, давным давно.Вот так выглядит макрос, который тянет массив данных из первой папки 1 файла. Таких макросов 12, на каждый месяц соответственно :)
Код
Sub январь_1()'отключаем мерцание
 Application.ScreenUpdating = False
'открываем книгу январь тэц1
 Workbooks.Open Filename:="C:\Users\кр_en\2016 проект\TEZ-2\01-ком-2.xls"
 Worksheets("ITOG2").Select
 Range("K5:K30").Select
    Selection.Copy
    'открываем книгу плана
    Workbooks("комс тэ 2016 - копия.xls").Activate
    Range("B5").Select
    Selection.PasteSpecial Paste:=xlPasteValues
 'закрываем книгу
Workbooks("01-ком-2.xls").Close
Application.ScreenUpdating = True
End Sub
Изменено: Cheza - 01.04.2015 22:43:58
 
Попробуйте так:
Код
Sub январь_1()    'отключаем мерцание
    Dim pDialog As Office.FileDialog, wb As Workbook
    Set pDialog = Application.FileDialog(msoFileDialogOpen)
    pDialog.InitialFileName = "*.xls"
    If pDialog.Show Then
        'открываем книгу январь тэц1
        Set wb = Workbooks.Open(pDialog.SelectedItems(1))
        '"C:\Users\кр_en\2016 проект\TEZ-2\01-ком-2.xls"
        Debug.Print pDialog.SelectedItems(1)
    Else
        Exit Sub
    End If
    Application.ScreenUpdating = False
    wb.Worksheets("ITOG2").Range("K5:K30").Copy
    'открываем книгу плана
    Workbooks("комс тэ 2016 - копия.xls").Range("B5").PasteSpecial Paste:=xlPasteValues
    'закрываем книгу
    wb.Close 0
    Application.ScreenUpdating = True
End Sub
Я сам - дурнее всякого примера! ...
 
Код
Sub январь_1()
    Dim wb As Workbook
    'отключаем мерцание
    Application.ScreenUpdating = False
    'открываем книгу январь тэц1
    Set wb = Workbooks.Open(ThisWorkbook.Path & "\TEZ-2\01-ком-2.xls")
    'открываем книгу плана
    Workbooks("комс тэ 2016 - копия.xls").Sheets("тутуказатьимялиста").Range("B5:B30").Value = wb.Worksheets("ITOG2").Range("K5:K30").Value
    'закрываем книгу
    wb.Close 0
    Application.ScreenUpdating = True
End Sub

 
Спасибо, огромное! Попробую оба варианта. Обязательно отпишусь о результатах
 
скорее вариант Hugo - берем имя открытой  уже книги( полное, с путем) и уже от него ищем вложенные папки..
Живи и дай жить..
 
Если существуют относительные пути, то да.
Цитата
Cheza написал: Есть папка с именем "Проект 2016"... при копировании файла "Проект" в папку с именем "Проект 2017"
- а будут же наверное "Проект 2018", 2019 и т.д. и не факт, что оператор останется один и тот же. :)
Я сам - дурнее всякого примера! ...
 
так автор же каждый раз копирует файл в соотв папку
Живи и дай жить..
 
Как и обещала отписываю о результатах. Вариант KuklP при запуске начал спрашивать путь к каким то папкам . Вариант Hugo прошел на "Ура!". При копировании в другую папку, считает все как надо. Спасибо огромнейшее!!!! Низкий поклон и всех благ вашему дому!!!! Спасли!:D
Посоветуйте, что почитать по VBA? Помимо форума, конечно же.
Изменено: Cheza - 02.04.2015 01:54:08
 
Вариант KuklP так и написан - в начале спрашивает какой файл обрабатывать, можете указать любой файл.
Страницы: 1
Наверх