Страница: 1 | 2 |
Вопрос: Вопрос
Добавлено: 24.04.08 16:02
Автор вопроса: Ig0r
Есть 12 tetxBox'oв и 12 spinButton'ов!!!как сделать(txt1.Value = 10) чтобы и во всех остальных txtBox'ах отсчёт начинался с 10 без повтора кода?
Ответы
Всего ответов: 16
Номер ответа: 1
Автор ответа:
J. Smith
ICQ: ненавижу
Вопросов: 40
Ответов: 477
Web-сайт:
Профиль | | #1
Добавлено: 24.04.08 16:43
Непонял, нужно чтоб по любому из 12 Button_Click-oв во всех TextBox-ах выставлялся один и тотже текст?
А массивом объектов их можно сделать? Или те обязательно их поотдельности держать?
Номер ответа: 2
Автор ответа:
Ig0r
Вопросов: 9
Ответов: 18
Профиль | | #2
Добавлено: 24.04.08 16:48
В каждом TextBox'e должно по умолчанию стоять 10 при нажатии на spinButton значение изменялось бы на 1(это я сделал)!!!Как обойтись без писания того самого кода txt1.Value = 10 и т.д.?
Номер ответа: 3
Автор ответа:
J. Smith
ICQ: ненавижу
Вопросов: 40
Ответов: 477
Web-сайт:
Профиль | | #3
Добавлено: 24.04.08 16:54
Скопируй оттуда и скинь сюда свой код, ато чёт я тебя непонял
Номер ответа: 4
Автор ответа:
Ig0r
Вопросов: 9
Ответов: 18
Профиль | | #4
Добавлено: 24.04.08 17:01
Range("B4" = txt1.Value
End Sub
Private Sub SpB1_Change()
txt1.Value = spb1.Value
End Sub
Private Sub txt1_Change()
spb1.Value = CLng(txt1.Value)
End Sub
Private Sub UserForm_Initialize()
txt1.Value = 10
End Sub
Это для одной кнопки...
Номер ответа: 5
Автор ответа:
J. Smith
ICQ: ненавижу
Вопросов: 40
Ответов: 477
Web-сайт:
Профиль | | #5
Добавлено: 24.04.08 19:57
1. Удали с формы 9 текстбоксов и баттонов, оставь Txt1 и CommandButton1
2. Выдели их мышкой, правой кнопкой щёлкни в меню Копировать.
3. Щёлкни на самой форме в меню Вставить.
4. Появится некий вопрос, жми ДА.
5. Повтори с 3-го пункта ещё 8 раз. Вопроса небудет.
Так ты создаш массив контролов Txt1(0-10) и CommandButton1(1-10). Так с ними можно работать перебирая индекс в цикле фор некст.
Пример только завтра щас ВБ под рукой нет.
Номер ответа: 6
Автор ответа:
Ig0r
Вопросов: 9
Ответов: 18
Профиль | | #6
Добавлено: 24.04.08 19:59
Спасибо!!!Буду ждать пример!
Номер ответа: 7
Автор ответа:
J. Smith
ICQ: ненавижу
Вопросов: 40
Ответов: 477
Web-сайт:
Профиль | | #7
Добавлено: 24.04.08 20:36
Кстати 10 в текстбоксы можно назначить заранее, ещё в проекте.
Эт надо было делать ещё до копирования/вставки, такбы уже ксе контролы с 10-ми (по умолчанию) были а щас , щёлкаеш по боксу, в списке свойств выбираеш Техт и правее в строке вбиваеш 10. И так для каждого. Форма открывается с 10-ми в боксах.
Иль там в будущем не только десятки будут? тады остафь
Номер ответа: 8
Автор ответа:
J. Smith
ICQ: ненавижу
Вопросов: 40
Ответов: 477
Web-сайт:
Профиль | | #8
Добавлено: 24.04.08 21:25
опечатки
Старею, есть офис есть и ВБА, щас прикину пример, хотя удобнее былоб еслиб файл прислал на почту.
Номер ответа: 9
Автор ответа:
J. Smith
ICQ: ненавижу
Вопросов: 40
Ответов: 477
Web-сайт:
Профиль | | #9
Добавлено: 24.04.08 22:11
Вроде и знаю ВБА, но до сих пор незамечал что контролы там не индексируются сцуки.
Лажа с массивом контролов.
Номер ответа: 10
Автор ответа:
J. Smith
ICQ: ненавижу
Вопросов: 40
Ответов: 477
Web-сайт:
Профиль | | #10
Добавлено: 24.04.08 23:26
Private Sub UserForm_Initialize()
Dim tmpInt As Integer
With UserForm1.Controls
For tmpInt = 0 To .Count - 1
If InStr(.Item(tmpInt).Name, "Txt" Then .Item(tmpInt) = 10
Next
End With
End Sub
Номер ответа: 11
Автор ответа:
J. Smith
ICQ: ненавижу
Вопросов: 40
Ответов: 477
Web-сайт:
Профиль | | #11
Добавлено: 26.04.08 19:12
Господа интеллектуалы, сократите-ка этот код
сохраняя функц. и работоспос. естественно
ЭтаКнига(Код)
Private Sub Workbook_Activate()
UserForm1.Show
End Sub
UserForm1(Код)
Option Explicit
Private Sub CommandButton1_Click()
Cells(4, 2) = TextBox1
End Sub
Private Sub CommandButton2_Click()
Cells(5, 2) = TextBox2
End Sub
Private Sub CommandButton3_Click()
Cells(6, 2) = TextBox3
End Sub
Private Sub CommandButton4_Click()
Cells(7, 2) = TextBox4
End Sub
Private Sub CommandButton5_Click()
Cells(8, 2) = TextBox5
End Sub
Private Sub CommandButton6_Click()
Cells(9, 2) = TextBox6
End Sub
Private Sub CommandButton7_Click()
Cells(10, 2) = TextBox7
End Sub
Private Sub CommandButton8_Click()
Cells(11, 2) = TextBox8
End Sub
Private Sub CommandButton9_Click()
Cells(12, 2) = TextBox9
End Sub
Private Sub CommandButton10_Click()
Cells(13, 2) = TextBox10
End Sub
Private Sub SpinButton1_Change()
TextBox1 = SpinButton1
End Sub
Private Sub SpinButton2_Change()
TextBox2 = SpinButton2
End Sub
Private Sub SpinButton3_Change()
TextBox3 = SpinButton3
End Sub
Private Sub SpinButton4_Change()
TextBox4 = SpinButton4
End Sub
Private Sub SpinButton5_Change()
TextBox5 = SpinButton5
End Sub
Private Sub SpinButton6_Change()
TextBox6 = SpinButton6
End Sub
Private Sub SpinButton7_Change()
TextBox7 = SpinButton7
End Sub
Private Sub SpinButton8_Change()
TextBox8 = SpinButton8
End Sub
Private Sub SpinButton9_Change()
TextBox9 = SpinButton9
End Sub
Private Sub SpinButton10_Change()
TextBox10 = SpinButton10
End Sub
Private Sub TextBox1_Change()
SpinButton1 = TextBox1
End Sub
Private Sub TextBox2_Change()
SpinButton2 = TextBox2
End Sub
Private Sub TextBox3_Change()
SpinButton3 = TextBox3
End Sub
Private Sub TextBox4_Change()
SpinButton4 = TextBox4
End Sub
Private Sub TextBox5_Change()
SpinButton5 = TextBox5
End Sub
Private Sub TextBox6_Change()
SpinButton6 = TextBox6
End Sub
Private Sub TextBox7_Change()
SpinButton7 = TextBox7
End Sub
Private Sub TextBox8_Change()
SpinButton8 = TextBox8
End Sub
Private Sub TextBox9_Change()
SpinButton9 = TextBox9
End Sub
Private Sub TextBox10_Change()
SpinButton10 = TextBox10
End Sub
Private Sub UserForm_Initialize()
Dim tmpInt As Integer
With Controls
For tmpInt = 0 To .Count - 1
.Item(tmpInt) = 10
Next
End With
End Sub
Номер ответа: 12
Автор ответа:
ADSemenov.ru
Вопросов: 5
Ответов: 276
Web-сайт:
Профиль | | #12
Добавлено: 26.04.08 20:45
Элементарно:
Private Sub CommandButton2_Click(): Cells(5, 2) = TextBox2: End Sub
И так далее ...
Номер ответа: 13
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #13
Добавлено: 27.04.08 00:28
Ну и какое тут сокращение? Имелось в виду логическое сокращение, а не чтоб в окне меньше страниц занимало
Номер ответа: 14
Автор ответа:
ADSemenov.ru
Вопросов: 5
Ответов: 276
Web-сайт:
Профиль | | #14
Добавлено: 27.04.08 00:43
Каков вопрос — таков и ответ. Если нет массивов Conrol'ов — чего же можно ещё написать?
Номер ответа: 15
Автор ответа:
J. Smith
ICQ: ненавижу
Вопросов: 40
Ответов: 477
Web-сайт:
Профиль | | #15
Добавлено: 27.04.08 02:19
Без заморочек сократить, т.е. сделать короче.
Полезно иногда выгружать математику из кэша
Семёнов красиво придумал, вот уж сократил так сократил
Спасибо !!!