Obecnie używa vba z programem excel 2007 ...Dezaktywować przycisk za pomocą funkcji?
Obecnie testuję możliwości funkcji i trochę utknąłem przy użyciu przycisków. Mam dwa przyciski o nazwie ONE i TWO. Naciśnięcie wywołuje funkcję Calc z każdym przyciskiem przekazującym zmienną nazwy drugiej. W następujący sposób:
Private Sub ONE_Click()
Calc TWO
End Sub
Private Sub TWO_Click()
Calc ONE
End Sub
Function Calc(B As CommandButton)
B.Enabled = False
End Function
Rozumiem, że naciśnięcie przycisku przechodzi się zmienną TWO do funkcji Calc, a następnie wyłącza przycisk dwa.
Mam także przycisk reset, który służy oznaczony następująco:
Private Sub Reset_Click()
ONE.Enabled = True
TWO.Enabled = True
End Sub
Wyniki tego, jeśli jeden przycisk, naciśnij przycisk DWA szarości i pojawia się „wyłączone”. Jednak po naciśnięciu przycisku resetowania pozostaje on szary. Badanie właściwości przycisku pokazuje, że w rzeczywistości nie jest on wyłączany. Zainstalowałem inny przycisk, który bezpośrednio wyłącza przycisk drugi, tj. TWO.Enabled = False, zamiast używać zmiennej, aby to zrobić.
Gdy przycisk jest bezpośrednio wyłączony za pomocą przycisku bezpośredniego, resetowanie włącza przycisk tak, jak powinien, a właściwości odzwierciedlają, że przycisk jest wyłączony.
Czy ktoś wie, dlaczego użycie zmiennej do wyłączenia takiego przycisku powoduje iluzoryczne wyłączenie? A jeszcze lepiej, jak przezwyciężyć problem?
Uruchomiłem twój kod i nie znalazłem niechcianego beheiour. naciśnięcie przycisku "RESET" zawsze miałoby włączone inne przyciski – user3598756
Uruchomiłem również kod i zachowałem się tak samo jak Frank Zed, zarówno w Excel 2007 jak i Excel 2016. –