所以我一直在制作一个电子表格,我将其用作多个电子表格的模板,我已经完成了大部分模板,但我想添加一个涉及旋转栏的功能。
目前我显示了100个输入按钮,我知道模板的所有可能用途都不需要100个按钮,我只包含100个最大值。
我希望添加1到100个旋转栏,以便根据与旋转栏关联的数字自动显示/隐藏按钮。
我应该没有问题找出如何隐藏按钮或显示按钮,但我无法找出正确的代码,让按钮在1 - 100之间可见。
Sub LocNum ()
Dim i As Integer
Dim n As Integer
n = Worksheets(1).Cell
For i = 1 To n
这就是我能得到的,所以如果n等于37,它应该只有37个按钮可见。
我从我之前输入的内容中获取了我的代码,之后我休息了很长时间,这是代码。
Sub Populate()
Dim t As Integer
Dim i As Integer
Dim a As String
t = ActiveWorkbook.Sheets.Count - 1
i = 0
For i = 2 To t
a = i - 1
If (ActiveSheet.Shapes("" + "btn.index" & i).Visible = True) Then
ActiveSheet.Shapes("" + "btn.index" & i).Select
Selection.OnAction = "" + "Location" & a + ""
Selection.Characters.Text = ActiveWorkbook.Worksheets(i).Name
Else
Exit Sub
End If
Next i
End Sub
任何帮助都将不胜感激。
答案 0 :(得分:0)
不完全确定您的工作流程,但这可以帮助您根据索引(我不推荐)或按钮名称显示/隐藏按钮。你只需要调用这个Sub提供要显示的按钮数量,其余的(索引/名称高于数字)将被隐藏。
我会让你玩OnAction。
Option Explicit
Sub ShowButtonsUpTo(ByVal ButtonCount As Long)
Dim oButton As Button ' or Object
For Each oButton In Worksheets(1).Buttons
With oButton
' Based on Index (not recommend):
.Visible = (.Index <= ButtonCount)
' Based on Name (button name):
If InStr(1, .Name, "btn.index", vbTextCompare) = 1 Then
.Visible = (CLng(Replace(.Name, "btn.index", "")) <= ButtonCount)
End If
End With
Next oButton
End Sub