Будучи новым для VBA, я пытаюсь добавить настраиваемую полосу прокрутки на свой лист. По индивидуальному подходу я имею в виду, что я могу решить минимальное значение, максимальное значение и небольшой выбор полосы прокрутки с помощью Userform, где я задал нужные значения. До сих пор я хранила значения в публичных переменных следующие: screen of the UserformVBA Настроить полосу прокрутки с переменными 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.» с A, B и C в УСПЕШНОЙ полосе прокрутки код, указанных с помощью Excel:
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 текстовых поля и один CommandButton ("Валидатор"). В принципе, моя идея состоит в том, чтобы выполнить эти 3 коробки с заранее определенными значениями (мин, макс и ...) и сохранить их в общедоступных переменных. На данный момент я просто запускаю свой код со вкладки разработки с помощью F5.
Я впервые запускаю пользовательскую форму. После того, как текстовые поля выполнены и CommandButton нажата, MessageBox возвращает значения, содержащиеся в переменных A, B и C. Затем я хочу использовать их для определения моей полосы прокрутки. Когда я нажимаю F5, полоса прокрутки показывает себя (см. Снимок экрана), но если я перейду к свойствам, все значения будут установлены на ноль. Кажется, я не называю переменные A, B, C правильным способом: scrollbar properties
Заранее за вашу помощь.
Что именно происходит и чего не хватает? У вас есть одна форма с несколькими текстовыми полями? Потому что вы выгружаете после первой проверки. что говорит ваш msgbox? Как и когда вы вызываете свой код? Пожалуйста, добавьте некоторые детали, чтобы помочь нам помочь. Я не вижу, как вы перенаправляете параметры для ваших полос прокрутки ... – Jochen
Я редактировал свой пост, добавляя 2 скриншота и более подробные объяснения. Помогает ли это? (Извините, так как я новичок в этом, я не уверен, какая информация вам нужна. Но это почти все, что касается моего кода здесь). Спасибо за вашу помощь. – beckq