Страницы: 1
RSS
Копирование данных из открытого файла при непостоянном имени, Как скопировать данные из определенного листа и определенных ячеек открытого файла в другой?
 
Всем доброго дня!
помогите начинающему пользователю)

Sub Макрос1()
'
' Макрос1 Макрос
'

'
   ActiveCell.FormulaR1C1 = "='[DSA_V4.0.xlsm]Sales plan'!R34C4"
   Range("BH6").Select
   ActiveCell.FormulaR1C1 = "=[DSA_V4.0.xlsm]Summary!R13C4"
   Range("BI8").Select
   ActiveCell.FormulaR1C1 = "=[DSA_V4.0.xlsm]Summary!R21C3"
   Range("BI9").Select
   ActiveCell.FormulaR1C1 = "=[DSA_V4.0.xlsm]Summary!R30C3"
   Range("BI10").Select
End Sub


Название файла будет меняться (DSA_V4.0) как сделать, чтоб копировал данные несмотря на имя файла?
файл будет открытым
 
Цитата
Олег Большаков написал:
чтоб копировал данные несмотря на имя файла?
А на что нужно смотреть? Куда копировать?
 
Код
ActiveCell.FormulaR1C1 = "='[" & Workbooks(2).Name & "]Sales plan'!R34C4"
 
в d1 напишите имя файла
выполните
Код
Sub Macro1()
  Dim fn$
  fn = [d1]
  Range("BH6").FormulaR1C1 = "='[" & fn & "]Sales plan'!R34C4"
  Range("BI8").FormulaR1C1 = "=[" & fn & "]Summary!R13C4"
  Range("BI9").FormulaR1C1 = "=[" & fn & "]Summary!R21C3"
  Range("BI10").FormulaR1C1 = "=[" & fn & "]Summary!R30C3"
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Олег Большаков, здравствуйте
Запоминайте имя другого файла в переменную и подставляйте её
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Получается, из открытого с разными именами, вкладка Summary, ячейки С3, D13, C21
Нужно скопировать в открытый файл ESTIMATION (имя останется неизменно), вкладка ESTIMATION, в ячейки BI4, BH6 и BI8 соответственно
Кнопка макроса будет в файле ESTIMATION
 
Цитата
написал:
Цитата
Олег Большаков написал:
чтоб копировал данные несмотря на имя файла?
А на что нужно смотреть? Куда копировать?
Получается, из открытого с разными именами, вкладка Summary, ячейки С3, D13, C21
Нужно скопировать в открытый файл ESTIMATION (имя останется неизменно), вкладка ESTIMATION, в ячейки BI4, BH6 и BI8 соответственно
Кнопка макроса будет в файле ESTIMATION
 
Цитата
написал:
Олег Большаков, здравствуйте
Запоминайте имя другого файла в переменную и подставляйте ее
а как это сделать?)
 
Цитата
написал:
в d1 напишите имя файла
выполните
Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8      Sub   Macro1()        Dim   fn$        fn = [d1]        Range(  "BH6"  ).FormulaR1C1 =   "='["   & fn &   "]Sales plan'!R34C4"        Range(  "BI8"  ).FormulaR1C1 =   "=["   & fn &   "]Summary!R13C4"        Range(  "BI9"  ).FormulaR1C1 =   "=["   & fn &   "]Summary!R21C3"        Range(  "BI10"  ).FormulaR1C1 =   "=["   & fn &   "]Summary!R30C3"    End   Sub   
 
Имя файла будет меняться постоянно, кто как назовет его (123, 123 -копия, и т.д.) как сделать именно переменное имя?
 
Цитата
Олег Большаков написал:
а как это сделать?)
нужно посмотреть в сообщение 4
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Олег Большаков: из открытого … [лист] Summary… скопировать в открытый [файл с макросом] [лист] ESTIMATION…Кнопка макроса будет в файле ESTIMATION
Код. Книга, откуда копируем (не та, в которой макрос) должна быть активной
Изменено: Jack Famous - 09.08.2022 15:42:32
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
написал:
Цитата
Олег Большаков написал:
а как это сделать?)
нужно посмотреть в сообщение 4
смотрю в книгу вижу фигу)
d1 - имя файла в который копируются данные?
 
Цитата
написал:
Цитата
Олег Большаков: из открытого … [лист] Summary… скопировать в открытый [файл с макросом] [лист] ESTIMATION…Кнопка макроса будет в файле ESTIMATION
     Код. Книга, откуда копируем (не та, в которой макрос) должна быть активной        
Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8  9  10  11      Sub   t()    Dim   shFrom   As   Worksheet, shTo   As   Worksheet       If   ActiveWorkbook.Name = ThisWorkbook.Name   Then   MsgBox   "Сделайте активным ДРУГОЙ файл (не тот, что с макросом)!"  , vbExclamation,   "ОШИБКА АЛГОРИТМА"  :   Exit   Sub    Set   shFrom = ActiveWorkbook.Worksheets(  "Summary"  )    Set   shTo = ThisWorkbook.Worksheets(  "ESTIMATION"  )       shTo.Range(  "BI4"  ).Value2 = shFrom.Range(  "C3"  ).Value2    shTo.Range(  "BH6"  ).Value2 = shFrom.Range(  "D13"  ).Value2    shTo.Range(  "BI8"  ).Value2 = shFrom.Range(  "C21"  ).Value2    End   Sub   
 
Активная - то есть открытая?
открыл, но когда нажимаю макрос - происходит примечание и макрос заканчивается
 
Для того, чтобы кнопкой в файле можно было скопировать что -либо в другую открытую книгу, нужно любым доступным способом указать, в какую книгу вы собираетесь осуществлять вставку. Если при этом у вас всегда открыта только одна "любая другая" книга, это не обязательно.
 
Ребята, извините за дуболомство, я только недавно узнал ху из макрос ,учусь :oops:  
 
Цитата
Олег Большаков: Активная - то есть открытая?
открыто может быть несколько книг, а активная - только одна
Кликните на любой ячейке в книге ОТКУДА вы собираетесь копировать (тем самым сделаете её активной) и запустите макрос (который находится в книге, КУДА вы собираетесь копировать)
Изменено: Jack Famous - 09.08.2022 15:13:34
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
написал:
Цитата
Олег Большаков: Активная - то есть открытая?
открыто может быть несколько книг, а активная - только одна
Кликните на любой ячейке в книге ОТКУДА вы собираетесь копировать (тем самым сделаете её активной) и запустите макрос (который находится в книге, КУДА вы собираетесь копировать)
Дошло! спасибо!!! все прекрасно работает!)
 
Олег Большаков, обращайтесь  ;)
Обновил макрос, так будет быстрее и без морганий
Изменено: Jack Famous - 09.08.2022 15:42:57
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх