我有以下代码工作,其中用户输入传递路线的名称,然后为路线创建工作表和按钮。然后,他们可以点击按钮,然后将它们带到相应的路线工作表,在那里他们可以输入发票编号。我需要设置它,以便添加其他路由。现在,新按钮会覆盖现有按钮。我需要的是在现有按钮下添加新路线的新按钮。更糟糕的是,这需要在具有不同路线数量的多个站点使用。因此,我需要工作表能够让用户添加其他路径(这会导致添加其他按钮),如果他们在一列中找到8个按钮,我希望它能够启动另一个列的右侧第一列按钮。我很难找到一个很好的方法来做到这一点。我非常感谢任何指导。谢谢。这是我到目前为止使用的代码:
Sub AddRoute()
Dim btn As Button
Application.ScreenUpdating = False
Dim t As Range
Dim sName As String
Dim wks As Worksheet
Worksheets("NewRoute").Copy after:=Sheets(Worksheets.Count)
Set wks = ActiveSheet
Do While sName <> wks.Name
sName = Application.InputBox _
(Prompt:="Enter new route name")
On Error Resume Next
wks.Name = sName
Worksheets("Home").Activate
On Error GoTo 0
Set t = ActiveSheet.Range(Cells(2, 12), Cells(3, 13))
Set btn = ActiveSheet.Buttons.Add(t.Left, t.Top, t.Width, t.Height)
With btn
.OnAction = "'btnS""" & sName & """'"
.Caption = sName
.Name = sName
End With
Application.ScreenUpdating = True
Loop
Set wks = Nothing
End Sub
Sub btnS(sName)
Worksheets(sName).Activate
Range("A:A").Find("").Select
End Sub
答案 0 :(得分:0)
问题是,无论何时运行宏,您都会引用相同的范围“t”。你应该声明两个变量int并用2和3初始化它,并在循环结束时为这两个int变量添加2。
例如:
<div class="container">
<div class="field">Text</div>
<div class="field">Text</div>
<div class="arrow"></div>
</div>