【发布时间】:2015-03-17 14:33:27
【问题描述】:
希望有人知道答案...我是在 Excel 上使用 VBA 的新手。
我正在尝试为我们的食堂员工创建每周杂货预算。 我一直在尝试做的是允许用户在新工作表上创建每周预算。
到目前为止,我创建的是包含“库存开始”和“库存结束”列的表格。厨房主管希望在创建新工作表时将“库存结束”列移至“库存开始”列。
我认为最好的方法是允许用户使用数据填充工作表,然后单击按钮创建一个新工作表并将“库存结束”列复制到“库存开始”的新创建的工作表。
我还想建立一个标准化的命名约定,比如“星期开始 DD/MM/YY。但事实证明这太难了。
我设法找到了 2 段单独的代码。
第一部分复制了“主”工作表,并允许用户自己命名新工作表。这将是完美的,但它只依赖于“主”工作表。我更喜欢它复制活动工作表。
我用 '.将数据从 Stock End (G4:G83) 复制到新工作表 Stock Start (C4:C83)。
但此代码需要知道它正在复制的工作表的名称...
因此,我无法将 2 个代码合二为一。我迷路了……
这是我的谷歌驱动器上相关电子表格的副本:
亲切的问候
T
Private Sub CommandButton1_Click()
Dim sName As String
Dim wks As Worksheet
Worksheets("Master").Copy after:=Sheets(Worksheets.Count)
Set wks = ActiveSheet
Do While sName <> wks.Name
sName = Application.InputBox _
(Prompt:="Enter new worksheet name")
On Error Resume Next
wks.Name = sName
On Error GoTo 0
Loop
Set wks = Nothing
'Worksheets(1).Range("G4:G83").Copy
'Worksheets(2).Range("C4:C83").PasteSpecial xlPasteValues
End Sub
【问题讨论】: