|
|
|
|
LaNidZe |
Понедельник, 13 Ноября 2006, 14:43
|
Участник
Профиль
Группа: Участник
Сообщений: 5
Регистрация: 13.11.2006
Пользователь №: 12893
Конфигурация
Корпус: -- Процессор: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: -- CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
Сразу скажу что я не программист, а экономист просто по работе стало неоходимо изучения VBA.
Мне нужно создать UserForm. Где в TextBox1 будет забиватья ФИО сотрудника, Из ComboBox выбираться должность сотрудника, TextBox2 будет забиватья оклад, TextBox3 будет забиватья премия. С этой частью задачи я справился.
Но вот с чем не могу. У меня не получается что бы каждый следующий сотрудник заполнялся после последнего заполненого. Я использовал For...Next Но у меня весь массив заполняется одними и теми же данными. Нужно как то организовать счетчик который будет переключаться по мере заполненияя.
|
|
|
|
|
pashulka |
Вторник, 14 Ноября 2006, 4:03
|
Участник
Профиль
Группа: Участник
Сообщений: 216
Регистрация: 13.07.2003
Пользователь №: 5551
Конфигурация
Корпус: -- Процессор: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: -- CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
Посмотрите этот FAQ, возможно определение последней заполненной ячейки сможет заменить Вам использование счётчика ... Если нет, то всегда можно продолжить эту тему.
|
|
|
|
|
LaNidZe |
Четверг, 16 Ноября 2006, 16:49
|
Участник
Профиль
Группа: Участник
Сообщений: 5
Регистрация: 13.11.2006
Пользователь №: 12893
Конфигурация
Корпус: -- Процессор: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: -- CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
Спасибо но FAQ мне не помог. Из ситуации я вышел так завел ячейку в которой ведется счет количества сотрудников, с этим счетчиком я пока работаю. Но мне кажется что есть и программный способ. Вы выкладывайте ваши мнения, потому что я могу что то делать не так. Какие то моменты могу упускать.
|
|
|
|
|
LaNidZe |
Пятница, 17 Ноября 2006, 10:03
|
Участник
Профиль
Группа: Участник
Сообщений: 5
Регистрация: 13.11.2006
Пользователь №: 12893
Конфигурация
Корпус: -- Процессор: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: -- CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
Как узнать текущую дату. Аналог функции "=сегодня()", но с помощью VBA.
И функция сравнения дат, т.е. сопостовлять дату забитую в ячеке с текущей датой. Хотя это наверное можно сделать с помощью функции If..Then..Else
|
|
|
|
|
pashulka |
Вторник, 21 Ноября 2006, 1:18
|
Участник
Профиль
Группа: Участник
Сообщений: 216
Регистрация: 13.07.2003
Пользователь №: 5551
Конфигурация
Корпус: -- Процессор: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: -- CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
1. Если Вы уверены, что использование счётчика действительно необходимо, то Вы можете использовать, например, переменную : Код Private iCounter&
Private Sub UserForm_Initialize() iCounter& = 0 'Если счётчик используется для заполнения уже существующей таблицы, 'то здесь должно быть определение номера строки последней заполненной строки End Sub
Private Sub CommandButton1_Click() iCounter& = iCounter& + 1 MsgBox "Счётчик : " & iCounter&, , "" End Sub 2. Код Dim iDate As Date, iDateTime As Date, iResult As Boolean
iDate = Date '=СЕГОДНЯ() iDateTime = Now '=ТДАТА()
If Not ActiveCell Is Nothing Then 'Активная ячейка использутся только в качестве примера If IsDate(ActiveCell.Value) = True Then iResult = ActiveCell.Value < iDate MsgBox iResult, , "" End If End If Сообщение отредактировал pashulka - Вторник, 21 Ноября 2006, 1:19
|
|
|
|
|
LaNidZe |
Вторник, 21 Ноября 2006, 9:23
|
Участник
Профиль
Группа: Участник
Сообщений: 5
Регистрация: 13.11.2006
Пользователь №: 12893
Конфигурация
Корпус: -- Процессор: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: -- CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
Спасибо за ответ, он мне помог.
Теперь у меня другой вопрос. Есть UserForm с ComboBox1-фамилия (сотрудник уже имеющийся в базе) ComboBox2-должность TextBox1-фамилия (нового сотрудника) OptionButton1-новый сотрудник. Так вот мне надо сделать так что бы TextBox1 был пассивным до тех пор пока OptionButton1 = False.
|
|
|
|
|
pashulka |
Вторник, 21 Ноября 2006, 21:53
|
Участник
Профиль
Группа: Участник
Сообщений: 216
Регистрация: 13.07.2003
Пользователь №: 5551
Конфигурация
Корпус: -- Процессор: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: -- CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
Переключатели, как правило, используются для выбора одного варианта из нескольких имеющихся в наличии, поэтому есть предложение : для решения поставленной задачи воспользоваться флажком "CheckBox" P.S. Вариант с "OptionButton" можно реализовать примерно также. Код Private Sub CheckBox1_Click() TextBox1.Enabled = CheckBox1.Value 'I 'TextBox1.Visible = CheckBox1.Value 'II 'TextBox1.Locked = Not CheckBox1.Value 'III End Sub
Private Sub UserForm_Initialize() TextBox1.Enabled = False 'I 'TextBox1.Visible = False 'II 'TextBox1.Locked = True 'III 'Любое из этих свойств можно предварительно установить вручную End Sub
|
|
|
|
|
LaNidZe |
Среда, 22 Ноября 2006, 9:18
|
Участник
Профиль
Группа: Участник
Сообщений: 5
Регистрация: 13.11.2006
Пользователь №: 12893
Конфигурация
Корпус: -- Процессор: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: -- CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
Спасибо большое все хорошо работает
|
|
|
|
|
|
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
|
0 Пользователей:
|
|
© Copyright by WinCity.Ru 2001 - 2008 | Обратная связьУслуги веб-хостинга предоставлены компанией MTW.RU
|
|