作爲VBA新手,我正在嘗試向我的工作表添加自定義滾動條。通過自定義,我的意思是我可以使用Userform來確定滾動條的最小值,最大值和小變化,我在其中詢問想要的值。到目前爲止,我已經存儲在以下公共變量的值: screen of the UserformVBA自定義用戶窗體變量的滾動條
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」,「最大」和值「.SmallChange。」用A,B和C在用Excel給出的defaut滾動代碼:
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個文本框和一個命令按鈕( 「驗證者」)。基本上我的想法是用預先設定的值(min,max,...)完成這3個盒子,並將它們存儲在公共變量中。目前,我只是使用F5從developper選項卡運行我的代碼。
我第一次運行userform。一旦文本框完成並按下CommandButton,MessageBox就會返回變量A,B和C中包含的值。然後我想用這些來「定義」我的滾動條。當我按F5時,滾動條顯示自己(見截圖),但如果我去屬性所有值設置爲零。似乎我沒有調用變量A,B,C正確的方式:scrollbar properties
在此先感謝您的幫助。
究竟發生了什麼以及缺少什麼?你有一個包含多個文本框的表單嗎?因爲你在第一次檢查後卸貨。你的msgbox說什麼?你如何以及何時調用你的代碼?請添加一些細節以幫助我們提供幫助。我不知道你是如何轉發你的滾動條的參數... – Jochen
我編輯我的帖子,添加2個截圖和更詳細的解釋。它有幫助嗎? (我很抱歉,因爲我是新手,我不確定你需要哪些信息,但這幾乎都是我的代碼)。感謝您的幫助btw! – beckq