【发布时间】:2016-05-24 19:40:04
【问题描述】:
作为 VBA 的新手,我正在尝试将自定义滚动条添加到我的工作表中。通过自定义,我的意思是我可以使用我询问想要的值的用户窗体来决定滚动条的最小值、最大值和小变化。到目前为止,我已将值存储在以下公共变量中: screen of the Userform
Option Explicit
Public A As Integer
Public B As Integer
Public C As Integer
Private Sub Valider_Click()
If IsNumeric(TextBox1.Value) Then
A = TextBox1.Value
Unload Me
Else
MsgBox "Valeur mimimale incorrecte"
End If
If IsNumeric(TextBox2.Value) Then
B = TextBox2.Value
Unload Me
Else
MsgBox "Valeur maximale incorrecte"
End If
If IsNumeric(TextBox3.Value) Then
C = TextBox3.Value
Unload Me
Else
MsgBox "Pas incorrect"
End If
MsgBox A & " " & B & " " & C
End Sub
我刚刚重新分配了“.Min”、“.Max”和“.SmallChange”的值。在 Excel 给出的默认滚动条代码中使用 A、B 和 C:
Sub curseur()
ActiveSheet.ScrollBars.Add(180, 45.75, 119.25, 13.5).Select
With Selection
.Value = 0
.Min = A
.Max = B
.SmallChange = C
.LargeChange = 10
.LinkedCell = "$G$4"
.Display3DShading = True
End With
Range("F4").Select
ActiveCell.FormulaR1C1 = "=RC[1]/100"
Range("G4").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.149998474074526
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.149998474074526
End With
End Sub
所以我有 3 个文本框和一个命令按钮(“验证器”)。基本上我的想法是用预先确定的值(最小值、最大值、...)来完成这 3 个框,并将它们存储在公共变量中。目前我只是使用 F5 从开发者选项卡运行我的代码。
我首先运行用户窗体。完成文本框并按下 CommandButton 后,MessageBox 将返回包含在变量 A、B 和 C 中的值。 然后我想用它们来“定义”我的滚动条。当我按 F5 时,滚动条会自行显示(见屏幕截图),但如果我转到属性,所有值都设置为零。似乎我没有以正确的方式调用变量 A、B、C:scrollbar properties
提前感谢您的帮助。
【问题讨论】:
-
到底发生了什么,缺少什么?您是否有一个带有多个文本框的表单?因为您是在第一次检查后卸载的。你的 msgbox 说什么?您如何以及何时调用您的代码?请添加一些详细信息以帮助我们。我看不到您如何转发滚动条的参数...
-
我编辑了我的帖子,添加了 2 个屏幕截图和更详细的说明。它有帮助吗? (对不起,由于我是新手,我不确定您需要哪些信息。但这几乎就是我的代码的全部内容)。顺便说一句,感谢您的帮助!
标签: excel scrollbar userform vba