【发布时间】:2015-07-12 16:02:39
【问题描述】:
这是我目前所拥有的:
Sub test()
Dim r As Range, n As Integer, i As Integer
On Error Resume Next
Set r = Application.InputBox("Select the range", Type:=8)
On Error GoTo 0
If r Is Nothing Then Exit Sub
n = Application.InputBox("How many departments?")
c = ActiveCell.Column
r.Copy
For i = 1 To n
Cells(ActiveCell.Row, c + (i - 1) * (r.Columns.Count + 1)).Activate
ActiveCell.PasteSpecial Paste:=xlPasteValues
Next i
Application.CutCopyMode = False
End Sub
到目前为止这个宏,
- 提示用户选择一个范围。该范围将是另一个工作表中的表格。
- 然后它会再次提示用户询问有多少部门,并根据该数字,它将所选范围复制到新工作表中特定次数。
- 下一步是 - 根据部门类型 - 用户需要输入一个百分比并将该百分比应用于所选范围的最后一列,即销售收入。
例如,如果用户输入有 5 个部门,它将在新工作表中复制表格 5 次。然后它应该再次提示用户询问 5 个部门中每个部门的百分比份额是多少,并将最后一列(销售收入)乘以它们各自的百分比。为了更好地说明我的观点,这里有一个示例工作簿:
关于如何做到这一点的任何建议?
【问题讨论】:
-
c 未声明。这是疏忽还是全局变量?