я так думаю это будет написано макросом. У меня уже есть в книге макрос, то подскажите как его добавить,
Код
Dim iValuePrivate Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C2:C30")) Is Nothing Then
Application.EnableEvents = False
Target = Target + iValue
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("C2:C30")) Is Nothing Then
iValue = Target
End If
End Sub
Если вы хотите при закрытии книги делать копию, то лучше всего использовать процедуру, которая срабатывает при закрытии книги.
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
End Sub
В ней вы прописываете условие. Если вам надо скопировать текущую книгу, то соответственно копируете её.
Код
Dim a$, b$
a = ThisWorkbook.Path & "\" & ThisWorkbook.Name 'ОТКУДА
b = "D:\" & ThisWorkbook.Name 'КУДА
CreateObject("Scripting.FileSystemObject").GetFile(a).Copy b
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок. А в том, чтобы писать программы, работающие при любом количестве ошибок.
Здравствуйте. Тема конечно не новая, ваши коды совсем не для этой задачи, их можете выбросить.
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.SaveCopyAs "C:\ПолныйПутьКвашейПапке" & _ Format(Date, "yyyy-mm-dd") & " - " & ThisWorkbook.Name
End Sub
Данный код нужно поместить в модуль ЭтаКнига, см., ссылку как это делается. Приведенный вами в первом сообщении код, скорее всего находится в модуле листа. Alemox, а как же документация по SaveCopyAs?
Да это оно. то что надо. У меня В книге уже есть макрос.
Dim iValuePrivate Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("C2:C30")) Is Nothing Then Application.EnableEvents = False Target = Target + iValue End If Application.EnableEvents = True End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("C2:C30")) Is Nothing Then iValue = Target End If End Sub
как добавить этот
Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.SaveCopyAs "C:\ПолныйПутьКвашейПапке" & _ Format(Date, "yyyy-mm-dd") & " - " & ThisWorkbook.Name End Sub
DANIKOLA, Это не копия книги, а сохранение её в другом месте.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок. А в том, чтобы писать программы, работающие при любом количестве ошибок.
павел соколов, плохое название. Предложите новое, из которого будет понятна задача - модераторы поменяют. И код следует оформлять соответствующим тегом: ищите такую кнопку <...> и исправьте свои сообщения.