2013-06-11 6 views
0

У меня есть книга Excel, в которой в настоящее время встроен макрос, который при нажатии кнопки макроса текущая книга сохраняется в директории, которую создает макрос, и затем шаблон стирается в порядке чтобы освободить место для данных на следующий день.Скопируйте весь рабочий лист на другой рабочий лист

Вместо этого макроса спасительного всю книгу как новый файл, который затем должен быть выследили для просмотра, я хотел бы изменить макрос, чтобы сделать следующее:

  1. Не создавать или сохранять новый файл.
  2. При щелчке макроса «Новый день» переместите то, что находится на рабочем листе шаблона под названием «Утренний отчет», на новый рабочий лист.
  3. Имя новой вкладки должно быть датой перемещенного шаблона, который находится в W1.

Вот код:

Sub NewDay() 

Dim fn, d, ln 
Set fs3 = CreateObject("Scripting.FileSystemObject") 
Set fs = CreateObject("Scripting.FileSystemObject") 
If fs3.FolderExists("c:\Morning Reports\") = True Then GoTo ext Else GoTo mkdir: 
mkdir: 
    Set d = fs.CreateFolder("c:\Morning Reports\") 
    With Application 
    .UserName = "MD Totco" 
    .StandardFont = "Arial" 
    .StandardFontSize = "10" 

    .DefaultFilePath = "c:\Morning Reports\" 
    .EnableSound = False 
    .RollZoom = False 
    End With 
ext: 
    Sheets("Morning Report").Select 
    ActiveSheet.Unprotect 

    ChDir "c:\Morning Reports\" 
    tempdate = ActiveSheet.Range("w1") + 1 
    ActiveSheet.Range("w1") = tempdate 
    tDate = Format(tempdate, "mmm d yyyy") 
    WellName = ActiveSheet.Range("s2") 

    fName = tDate + ", " + WellName 
    ActiveWorkbook.SaveAs FileName:=fName 

Это будет раздел в Суб NewDay, что создает новый файл и сохранение, остальная часть кода вытирает и освежающий шаблон. Однако я не хочу, чтобы книга была сохранена, я просто хочу, чтобы лист «Утренний отчет» книги был скопирован на новый лист.

+1

Можете ли вы опубликовать код, который будет служить базой для редактирования? –

ответ

2

Копирование листа легко:

Public Sub copy() 
Sheets(1).copy after:=Sheets(1) 
End Sub 

Остаток должен быть легким для вас, чтобы выяснить.

Смежные вопросы