На форме существует множество однотипных элементов, кнопок, текстовых полей или полей со списками И у них код тоже однотипный. Так вот каждому писать Private Sub ComboBox47_Change() проблематично. Как можно это дело укоротить?
На форме существует множество однотипных элементов, кнопок, текстовых полей или полей со списками И у них код тоже однотипный. Так вот каждому писать Private Sub ComboBox47_Change() проблематично. Как можно это дело укоротить?Izuver
Private Sub TB11_Change() Sa(ScrollBar1 + 1, 0, 1) = TB11 End Sub Private Sub TB12_Change() Sa(ScrollBar1 + 1, 0, 2) = TB12 End Sub Private Sub TB13_Change() Sa(ScrollBar1 + 1, 0, 3) = TB13 End Sub Private Sub TB21_Change() Sa(ScrollBar1 + 2, 0, 1) = TB21 End Sub Private Sub TB22_Change() Sa(ScrollBar1 + 2, 0, 2) = TB22 End Sub Private Sub TB23_Change() Sa(ScrollBar1 + 2, 0, 3) = TB23 End Sub
[/vba]
Сейчас это выглядит так: [vba]
Код
Private Sub TB11_Change() Sa(ScrollBar1 + 1, 0, 1) = TB11 End Sub Private Sub TB12_Change() Sa(ScrollBar1 + 1, 0, 2) = TB12 End Sub Private Sub TB13_Change() Sa(ScrollBar1 + 1, 0, 3) = TB13 End Sub Private Sub TB21_Change() Sa(ScrollBar1 + 2, 0, 1) = TB21 End Sub Private Sub TB22_Change() Sa(ScrollBar1 + 2, 0, 2) = TB22 End Sub Private Sub TB23_Change() Sa(ScrollBar1 + 2, 0, 3) = TB23 End Sub
Я знаю такой способ создания кода, но он не только на какие-нибудь 100 идеинтичных кнопок, а допустим 10 кнопок для одного кода, 10 для второго .... 10 для десятого кода и вот когда проходит какое-нибудь изменение, это все создавать приходтся заново, да даже просто в я теряюсь в коде.
Цитата (Serge_007)
За несколько секунд любое кол-во
Я знаю такой способ создания кода, но он не только на какие-нибудь 100 идеинтичных кнопок, а допустим 10 кнопок для одного кода, 10 для второго .... 10 для десятого кода и вот когда проходит какое-нибудь изменение, это все создавать приходтся заново, да даже просто в я теряюсь в коде.Izuver
я то думал афтар хочет сократить кол-во кода...а оказалось, что хочет много кода создание эл-ов вроде как можно заключить в цикл...там жмёшь на кнопку, а вылазит ещё 10
я то думал афтар хочет сократить кол-во кода...а оказалось, что хочет много кода создание эл-ов вроде как можно заключить в цикл...там жмёшь на кнопку, а вылазит ещё 10 Матраскин
Private Sub TB11_Change() i = 1: j = 0: k = 1: n = 11 Call ScrollB(i, j, k, n) End Sub Private Sub TB12_Change() i = 1: j = 0: k = 2: n = 12 Call ScrollB(i, j, k, n) End Sub Private Sub TB13_Change() i = 1: j = 0: k = 3: n = 13 Call ScrollB(i, j, k, n) End Sub Private Sub ScrollB(i, j, k, n) Sa(ScrollBar1 + i, j, k) = Controls("TB" & n) End Sub
[/vba]
Цитата (Izuver)
определить имя элемента
Можно. А можно [vba]
Код
Private Sub TB11_Change() i = 1: j = 0: k = 1: n = 11 Call ScrollB(i, j, k, n) End Sub Private Sub TB12_Change() i = 1: j = 0: k = 2: n = 12 Call ScrollB(i, j, k, n) End Sub Private Sub TB13_Change() i = 1: j = 0: k = 3: n = 13 Call ScrollB(i, j, k, n) End Sub Private Sub ScrollB(i, j, k, n) Sa(ScrollBar1 + i, j, k) = Controls("TB" & n) End Sub