Страницы: 1
RSS
Круговой SpinButton
 
Всем привет  
Вопрос, как сделать это:  
 
Private Sub SpinButton_Change()  
SpinButton.Max = 5  
SpinButton.Min = 0  
SpinButton.SmallChange = 1  
If SpinButton.Value = 0 Then  
SpinButton.Value = 4  
End If  
If SpinButton.Value = 5 Then  
SpinButton.Value = 1  
End If  
   If SpinButton.Value = 4 Then  
   [C16].Value = "Фильтр по группе"
   [C17].Value = "Фильтр по имени"
   [C18].Value = "Фильтр по заказу"
   [D17].Value = "Фильтр по реализации"
   End If  
   If SpinButton.Value = 3 Then  
   [C16].Value = "Фильтр по реализации"
   [C17].Value = "Фильтр по группе"
   [C18].Value = "Фильтр по имени"
   [D17].Value = "Фильтр по заказу"
   End If  
   If SpinButton.Value = 2 Then  
   [C16].Value = "Фильтр по заказу"
   [C17].Value = "Фильтр по реализации"
   [C18].Value = "Фильтр по группе"
   [D17].Value = "Фильтр по имени"
   End If  
   If SpinButton.Value = 1 Then  
   [C16].Value = "Фильтр по имени"
   [C17].Value = "Фильтр по заказу"
   [C18].Value = "Фильтр по реализации"
   [D17].Value = "Фильтр по группе"
   End If  
[c24].Value = SpinButton.Value
End Sub  
 
Только по-человечески
 
Пробуйте  
 
Dim a$(), esc As Boolean, i&, c As Range  
 
Private Sub SpinButton_Change()  
If esc Then Exit Sub  
On Error Resume Next  
If UBound(a) < 3 Then a = Split("Фильтр по группе\Фильтр по имени\Фильтр по заказу\Фильтр по реализации", "\")  
esc = True  
With SpinButton  
   If .Value = -1 Then  
       .Value = 3  
   ElseIf .Value = 4 Then .Value = 0  
   End If  
   i = .Value  
End With  
esc = False  
For Each c In Range("C16:C18,D17")  
   c.Value = a(i)  
   i = (i + 1) Mod 4  
Next  
[c24].Value = i
End Sub
 
Вниз застряет на нуле
 
В моем файле, как видите, не "застряет".  
В режиме конструктора установите свойство Min = -1
 
Теперь работает, спасибо большое
Страницы: 1
Наверх