Добрый день!
Помогите пожалуйста доделать макрос. Общая идея такая: из книги "копирование столбцов.xlsx" запускается макрос, который вызывает окно выбора файла. Это может быть любой файл, и фиксированного имени у него нет. Поэтому я и открываю его вручную. Здесь в примере это "Книга2копирование.xlsx". Потом я из первой книги копирую во вторую книгу(открытую диалоговым окном) нужные мне столбцы. Копирую только как значения. Проблема в том, что я писала макрос макрорекодером и не могу правильно сделать передачу имени открытого из диалогового окна файла. У меня это строка
'активируем книгу куда копируем
Windows("Книга2копирование.xlsx").Activate
Она получается завязанной именно на имя моего примера, а должна получать имя файла, открытого из диалогового окна. Помогите пожалуйста разобраться!
Помогите пожалуйста доделать макрос. Общая идея такая: из книги "копирование столбцов.xlsx" запускается макрос, который вызывает окно выбора файла. Это может быть любой файл, и фиксированного имени у него нет. Поэтому я и открываю его вручную. Здесь в примере это "Книга2копирование.xlsx". Потом я из первой книги копирую во вторую книгу(открытую диалоговым окном) нужные мне столбцы. Копирую только как значения. Проблема в том, что я писала макрос макрорекодером и не могу правильно сделать передачу имени открытого из диалогового окна файла. У меня это строка
'активируем книгу куда копируем
Windows("Книга2копирование.xlsx").Activate
Она получается завязанной именно на имя моего примера, а должна получать имя файла, открытого из диалогового окна. Помогите пожалуйста разобраться!
Код |
---|
Sub Макрос1() ' Макрос1 Макрос ' открываем книгу куда будем копировать fileopenname = Application.GetOpenFilename(fileFilter:="Книги Excel (*.xls*), *.xls*", Title:="Введите путь к файлу данных") Workbooks.OpenText Filename:=fileopenname, Origin:=866 _ , StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _ , Space:=False, Other:=False, FieldInfo:=Array(1, 1), _ TrailingMinusNumbers:=True Application.ScreenUpdating = False ' активируем книгу откуда копируем Windows("копирование столбцов.xlsx").Activate 'выделяем нужный столбец Columns("A:A").Select Selection.Copy 'активируем книгу куда копируем Windows("Книга2копирование.xlsx").Activate Columns("A:A").Select ' вставляем только значения Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub |