将纸张专门添加到另一个纸张的左侧

时间:2017-12-14 12:09:17

标签: excel vba excel-vba

我目前在Excel工作表中有每日进度报告。

它有一个按钮,可以在当前工作表的右侧添加工作表,并将新工作表命名为+1。

这是启动添加工作表的代码的代码,并将其放在上一个工作表的右侧。

Dim cday As Integer
y = Sheets.Count
u = Sheets(y).Name
cday = Right(u, Len(u) - 3)
cday = cday + 1
    Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Select
ty = Sheets(y + 1).Name                     'Adds new sheet to the right of the current "day"

   Sheets(ty).Name = "Day" & cday           'renames sheet "Day +1"


   Sheets(y).Select
   Range("A1:AD148").Select                 'selects the area to copy on the active sheet
   Selection.Copy                           'copies the selected area
   Sheets(y + 1).Select                     'selects Renamed sheet
   ActiveSheet.Paste                        'pastes selection to new sheet

我正在尝试在所有其他工作表的右侧放置一份“报告”表。

我希望这是有道理的。我希望它是这样的:

Setup,Day1,Day2,Report

问题

如何更改“添加日”代码,将新工作表放在前一天的右边但位于“报告”表单的左侧?

1 个答案:

答案 0 :(得分:0)

name

但是请停止选择单元格并且不要使用ActiveCell - 它会把你赶出去并且效率非常低

编辑:我的不好应该是

State

EDIT2 此代码肯定会在Reports左侧添加一个页面,并将其命名为左侧页面编号的+1

sheets.add(after:=sheets(sheets.count - 1))

但它确实假设Reports已经存在,并且是工作簿中的最后一个工作表