НомерСтроки = Application.CountA(ActiveSheet.Columns(1)) + 1,

правая часть которой вычисляет число непустых ячеек в первом столбце активного рабочего листа. Переменной НомерСтроки присваивается значение на единицу большее, чем число непустых строк, что естественно, так как ей должен быть присвоен номер первой непустой строки базы данных. Подобные инструкции довольно часто используются при разработке приложений, поэтому следует обратить на них внимание.

Private Sub SpinButton1_Change()

'Процедура ввода значения счетчика в поле ввода

With UserForm1

TextBox3.Text = CStr(.SpinButton1.Value)

End With

End Sub

Private Sub TextBox3_Change()

'Процедура установки значения счетчика из поля ввода

With UserForm1

SpinButton1.Value = CInt(.TextBox3.Text)

End With

End Sub

Private Sub CommandButton2_Click()

'Процедура закрытия диалогового окна

UserForm1.Hide

Application.Caption = Empty

'Установка заголовка окна приложения по умолчанию

End Sub

Private Sub UserForm_Initialize()

'Процедура вызова диалогового окна

'и задание элементов раскрывающегося списка

'Задание пользовательского заголовка окна приложения

Application.Caption = «Регистрация. База данных туристов фирмы 'Балашов-Тур'»

Application.DisplayFormulaBar = False 'Закрытие строки формул окна Excel

With CommandButton1

Default = True

ControlTipText = «Ввод данных в базу данных»

End With

With CommandButton2

Cancel = True

ControlTipText = «Кнопка отмены»

End With

OptionButton1.Value = True

With ComboBox1

'Задание элементов раскрывающегося списка

List = Array(«Лондон», «Париж», «Берлин»)

ListIndex = 0

End With

'Задание начального и минимального значений счетчика и вывод текста

SpinButton1.Value = 1

SpinButton1.Min = 1

ЗаголовокРабочегоЛиста

UserForm1.Show

'Активизация диалогового окна

End Sub

Sub ЗаголовокРабочегоЛиста()

'Процедура создания заголовков полей базы данных

If Range(«A1»).Value = «Фамилия» Then Range(«A2»).Select Exit Sub 'Если заголовки существуют, то досрочный выход из процедуры

End If 'Если заголовки не существуют, то создаются заголовки полей

ActiveSheet.Сеlls.Clear

Range(«A1:H1»).Value = Array(«Фамилия», «Имя», «Пол», «Выбранный Тур», «Оплачено», «Фото», «Паспорт», «Срок»)

Range(«А: А»).ColumnWidth = 12

Range(«D: D»).ColumnWidth = 14.4

Range(«2:2»).Select

'Закрепляется первая строка с тем, чтобы она всегда отображалась на экране

ActiveWindow.FreezePanes = True

Range(«A2»).Select

'К каждому заголовку поля базы данных присоединяется примечание

Range(«Al»).AddComment

Range(«A1»).Comment.Visible = False

Range(«A1»).Comment.Text Text:='Фамилия клиента'

Range(«B1»).AddComment

Range(«B1»).Comment.Visible = False

Range(«B1»).Comment.Text Техt:='Имя клиента'

Range(«C1»).AddComment

Range(«C1»).Comment.Visible = False

Range(«C1»).Comment.Text Text:='Пол клиента'

Range(«D1»).AddComment

Range(«D1»).Comment.Visible = False

Range(«D1»).Comment.Text Text:='Направление' & Chr(lO) & «выбранного тура»

Range(«E1»).AddComment

Range(«E1»).Comment.Visible = False

Range(«E1»).Comment.Text Text:='Путевка оплачена?' & Chr(lO) & «(Да/Нет)»

Range(«F1»).AddComment

Range(«F1»).Comment.Visible = False

Range(«F1»).Comment.Text Text:='Фото сданы' & Chr(lO) & «(Да/Нет)»

Range(«G1»).AddComment

Range(«G1»).Comment.Visible = False

Range(«G1»).Comment.Text Text:='Наличие паспорта' & Chr(lO) & '(Да/Нет)»

Range(«H1»).AddComment

Range(«H1»).Comment.Visible = False

Range(«H1»).Comment.Text Text:='Продолжительность' & Chr(lO) & «поездки»

End Sub

При написании процедура ЗаголовокРабочегоЛиста лучше всего воспользоваться MacroRecorder, который переведет производимые действия по созданию примечаний пользователем вручную на язык VBA.

Задача на закрепление материала

Пример 58. Модифицировать форму примера 57 и, соответственно, базу на рабочем листе (ввести новую колонку, заголовок и комментарий к нему) для хранения еще одного параметра – Постоянный клиент (это дает, например, скидку при оплате).

9.2. Конструирование пользовательского интерфейса

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату