Сделал файл, в котором есть кнопка Save As, после нажатия файл сохраняется с новым названием в формате "Имя фирмы номер счета". В новом файле остаются указанные листы и нужные для дальнейшей работы (рабочие!) кнопки.
Проблема: сохранить так, чтобы в файле находящаяся функция (в данном примере у меня функция сумма прописью) работала в новом файле.
Как мне уже объясняли - .Copy копирует только сами листы без модулей. Начал пробовать внести эту функцию в personal.xls. Пробовал по разному: и создавал модуль в персонал книге, затем копировал туда функцию, пробовал сначала экспортировать функцию а потом импортировать в personal.xls. Ничего не помогает. Нигде не нашел информации о том, работают ли вообще функции, которые прописаны в personal.xls или это только к макросам относится? Help!
Файл пример в приложении.
Код кнопки сохранения:
[vba]
Код
Private Sub SaveSheets_Click() Dim Fname As String Application.ScreenUpdating = False Fname = ThisWorkbook.Path & "\" & Sheets("Sheet1").Range("A1").Value & " " & Range("B1").Text & ".xls" Sheets(Array("Sheet1", "Sheet2")).Copy Sheets("Sheet1").Shapes("SaveSheets").Delete With ActiveWorkbook Application.DisplayAlerts = False .SaveAs Filename:=Fname Application.ScreenUpdating = True Application.DisplayAlerts = True '.Close End With Workbooks("Book_Save.xls").Close 0 End Sub
[/vba]
Доброго времени суток, уважаемые!
Сделал файл, в котором есть кнопка Save As, после нажатия файл сохраняется с новым названием в формате "Имя фирмы номер счета". В новом файле остаются указанные листы и нужные для дальнейшей работы (рабочие!) кнопки.
Проблема: сохранить так, чтобы в файле находящаяся функция (в данном примере у меня функция сумма прописью) работала в новом файле.
Как мне уже объясняли - .Copy копирует только сами листы без модулей. Начал пробовать внести эту функцию в personal.xls. Пробовал по разному: и создавал модуль в персонал книге, затем копировал туда функцию, пробовал сначала экспортировать функцию а потом импортировать в personal.xls. Ничего не помогает. Нигде не нашел информации о том, работают ли вообще функции, которые прописаны в personal.xls или это только к макросам относится? Help!
Файл пример в приложении.
Код кнопки сохранения:
[vba]
Код
Private Sub SaveSheets_Click() Dim Fname As String Application.ScreenUpdating = False Fname = ThisWorkbook.Path & "\" & Sheets("Sheet1").Range("A1").Value & " " & Range("B1").Text & ".xls" Sheets(Array("Sheet1", "Sheet2")).Copy Sheets("Sheet1").Shapes("SaveSheets").Delete With ActiveWorkbook Application.DisplayAlerts = False .SaveAs Filename:=Fname Application.ScreenUpdating = True Application.DisplayAlerts = True '.Close End With Workbooks("Book_Save.xls").Close 0 End Sub
AndreTM, я пробовал просто в ячейку =EURV(D7), где D7 это ячейка с суммой в цифрах. Функция ее переделывает в сумму прописью.
Попробовал как Вы отписали в той теме: =PERSONAL.XLSB!EURV(D7), жму Enter, выскакивает окно Update Values: PERSONAL.XLSB, тут я так понимаю ему нужно указать путь к файлу PERSONAL.XLS. Делаем, ОК, выскакивает след. сообщение (см. приложение):
AndreTM, я пробовал просто в ячейку =EURV(D7), где D7 это ячейка с суммой в цифрах. Функция ее переделывает в сумму прописью.
Попробовал как Вы отписали в той теме: =PERSONAL.XLSB!EURV(D7), жму Enter, выскакивает окно Update Values: PERSONAL.XLSB, тут я так понимаю ему нужно указать путь к файлу PERSONAL.XLS. Делаем, ОК, выскакивает след. сообщение (см. приложение):DAKRAY
Какой XLSB? У вас же 2003-й Офис... Далее, - вы свою функцию уже поместили в персональную книгу макросов? И никаких "путей к персональной книге" нигде указывать не надо - если уж персональная книга создана, то она подключается автоматом к любому проекту.
Вообще, вы хоть что-то прочитали про использование personal.xls?
Какой XLSB? У вас же 2003-й Офис... Далее, - вы свою функцию уже поместили в персональную книгу макросов? И никаких "путей к персональной книге" нигде указывать не надо - если уж персональная книга создана, то она подключается автоматом к любому проекту.
Вообще, вы хоть что-то прочитали про использование personal.xls?AndreTM
То что В лишнее я уже сам понял)) Сработало! Но как-то не полноценно. Теперь после сохранения в новом файле в ячейке остается =' '!EURV(D7), а не =PERSONAL.XLS!EURV(D7), но по крайней мере сумму словами он пишет. Если в ячейку D7 вбить новую сумму, почему-то уже не работает. и при открытии новоиспеченного файла спрашивает Update или Don't update (This workbook contains links to other data sources.) Что не жми - функция в ячейке остается такой же =' '!EURV(D7).
З.Ы. Естественно добавил функцию в персональную книгу.
То что В лишнее я уже сам понял)) Сработало! Но как-то не полноценно. Теперь после сохранения в новом файле в ячейке остается =' '!EURV(D7), а не =PERSONAL.XLS!EURV(D7), но по крайней мере сумму словами он пишет. Если в ячейку D7 вбить новую сумму, почему-то уже не работает. и при открытии новоиспеченного файла спрашивает Update или Don't update (This workbook contains links to other data sources.) Что не жми - функция в ячейке остается такой же =' '!EURV(D7).
З.Ы. Естественно добавил функцию в персональную книгу.DAKRAY
Сообщение отредактировал DAKRAY - Понедельник, 13.01.2014, 18:05
В PERSONAL.XLS сохраняю функцию. В ячейку вставляю =PERSONAL.XLS!EURV(D7), пока файл открыт в ячейке так и остается написанное. Все работает! Сохраняю файл, открываю по новой - в ячейке остается только =' '!EURV(D7). Куда пропадает PERSONAL.XLS. Я на разных компах пробовал. Не получается.(
Ребят, подскажите, пжл! Что я не правильно делаю?
В PERSONAL.XLS сохраняю функцию. В ячейку вставляю =PERSONAL.XLS!EURV(D7), пока файл открыт в ячейке так и остается написанное. Все работает! Сохраняю файл, открываю по новой - в ячейке остается только =' '!EURV(D7). Куда пропадает PERSONAL.XLS. Я на разных компах пробовал. Не получается.(DAKRAY
Сообщение отредактировал DAKRAY - Вторник, 14.01.2014, 11:57