Алексей Гладкий - Excel. Трюки и эффекты

Здесь есть возможность читать онлайн «Алексей Гладкий - Excel. Трюки и эффекты» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программы, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Excel. Трюки и эффекты: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Excel. Трюки и эффекты»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Данная книга предназначена для пользователей Microsoft Excel и содержит описание приемов и методов работы, которые из-за своей специфичности недостаточно представлены (либо вообще не представлены) в пользовательской, справочной и иной соответствующей документации. Изучение приведенных в книге примеров позволит читателю открыть для себя не известные ранее возможности Excel. Предлагаемый материал легко усваивается благодаря тому, что излагается доступным и понятным языком.

Excel. Трюки и эффекты — читать онлайн ознакомительный отрывок

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

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

If Not IsEmpty(Values(i)) And Values(i) <> 0 Then _

varOut = varOut + 1

Case dhcCountPlus

' Подсчет количества положительных значений

If Values(i) > 0 Then varOut = varOut + 1

Case dhcCountMinus

' Подсчет количества отрицательных значений

If Values(i) < 0 Then varOut = varOut + 1

End Select

Next i

' Окончательные операции для некоторых видов расчета

If intMode = dhcAvg Then

' Вычисление среднего значения

ColorCalc = varOut / intCount

Else

ColorCalc = varOut

End If

End Function

В приведенном выше коде реализованы следующие элементы:

• функция ColorCalc – выполняет все расчеты с использованием цвета (параметры этой функции и ее аргументы рассматриваются в следующем разделе);

• макрос CalcColors – отображает форму управления расчетом (см. ниже).

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

Листинг 5.6. Код в модуле формы

Dim lngCurColor As Long ' Выбранный цвет, по которому _

идентифицировать (отбирать) ячейки

Dim intMode As Integer ' Номер типа вычисления в списке

Sub cmbApplyColor_Click()

If cboOtherColor.Value >= 0 Then

' Вычисление с использованием выбранного в списке цвета

lngCurColor = cboOtherColor.Value

SetColorSum

End If

End Sub

Sub cmbColor1_Click()

' Вычисление с использованием цвета нажатой кнопки

lngCurColor = cmbColor1.BackColor

SetColorSum

End Sub

Sub cmbColor2_Click()

' Вычисление с использованием цвета нажатой кнопки

lngCurColor = cmbColor2.BackColor

SetColorSum

End Sub

Sub cmbColor3_Click()

' Вычисление с использованием цвета нажатой кнопки

lngCurColor = cmbColor3.BackColor

SetColorSum

End Sub

Sub cmbColor4_Click()

' Вычисление с использованием цвета нажатой кнопки

lngCurColor = cmbColor4.BackColor

SetColorSum

End Sub

Sub cmbColor5_Click()

' Вычисление с использованием цвета нажатой кнопки

lngCurColor = cmbColor5.BackColor

SetColorSum

End Sub

Sub cmbColor6_Click()

' Вычисление с использованием цвета нажатой кнопки

lngCurColor = cmbColor6.BackColor

SetColorSum

End Sub

Sub cmbColor7_Click()

' Вычисление с использованием цвета нажатой кнопки

lngCurColor = cmbColor7.BackColor

SetColorSum

End Sub

Sub cmbColor8_Click()

' Вычисление с использованием цвета нажатой кнопки

lngCurColor = cmbColor8.BackColor

SetColorSum

End Sub

Sub cmbColor9_Click()

' Вычисление с использованием цвета нажатой кнопки

lngCurColor = cmbColor9.BackColor

SetColorSum

End Sub

Sub cmbColor10_Click()

' Вычисление с использованием цвета нажатой кнопки

lngCurColor = cmbColor10.BackColor

SetColorSum

End Sub

Sub cmbColor11_Click()

' Вычисление с использованием цвета нажатой кнопки

lngCurColor = cmbColor11.BackColor

SetColorSum

End Sub

Sub cmbColor12_Click()

' Вычисление с использованием цвета нажатой кнопки

lngCurColor = cmbColor12.BackColor

SetColorSum

End Sub

Sub SetColorSum()

' Вычисление с использованием заданного цвета

Dim strFormula As String

' Проверка правильности введенных диапазонов и номеров ячеек

If txtResCell.Value = "" Then

MsgBox «Введите адрес ячейки вставки функции», _

vbCritical, «Внимание!»

txtResCell.SetFocus

Exit Sub

ElseIf txtRange.Value = "" Then

MsgBox «Введите адрес диапазона суммирования», _

vbCritical, «Внимание!»

txtRange.SetFocus

Exit Sub

End If

' Формирование формулы

strFormula = "=ColorCalc(" & """"& txtRange.Value & """" _

& "," & lngCurColor & "," & CInt(tglType.Value) & "," _

& intMode & "," & CInt(chkVarify.Value) & ")"

' Запись формулы в ячейку

Range(txtResCell.Value).Formula = strFormula

End Sub

Sub cmbExit_Click()

' Закрытие формы

Unload Me

End Sub

Sub cboCalcTypes_AfterUpdate()

' Изменение режима вычисления – сохраним в переменной _

номер вычисления

intMode = cboCalcTypes.ListIndex

End Sub

Sub cboOtherColor_Change()

' Изменение выделенного цвета в списке «Другой»

If cboOtherColor.Text <> "" Then

' Сохранение выбранного цвета в переменной

lngCurColor = Val(cboOtherColor.Value)

End If

End Sub

Sub tglType_Click()

' Изменение типа идентификации ячеек

If tglType.Value = -1 Then

' Идентификация по цвету заливки

tglType.Caption = «Заливка»

Else

' Идентификация по цвету шрифта

tglType.Caption = «Шрифт»

End If

GetColors

End Sub

Sub txtRange_AfterUpdate()

' Изменение диапазона с исходными данными – покажем _

кнопки с цветами, представленными в новом диапазоне

GetColors

End Sub

Sub txtRange_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)

' Проверка корректности данных, введенных в поле _

диапазона исходных данных

Dim rgData As Range

Dim cell As Range

' Проверка, введен ли диапазон данных

If txtRange.Text = "" Then

MsgBox «Введите адрес диапазона суммирования!», _

vbCritical, «Ошибка выполнения»

Cancel = True

End If

If txtResCell.Text = "" Then Exit Sub

On Error GoTo Err1

' Проверка отсутствия циклических ссылок (чтобы одна _

из входных ячеек не была одновременно и выходной)

Set rgData = Range(txtRange.Text)

For Each cell In rgData.Cells

If cell.Address(False, False) = _

Range(txtResCell.Text).Address(False, False) Then

' Нашли циклическую ссылку

MsgBox "Введите другой адрес во избежание " & _

«появления циклических ссылок», vbCritical, _

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Excel. Трюки и эффекты»

Представляем Вашему вниманию похожие книги на «Excel. Трюки и эффекты» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Excel. Трюки и эффекты»

Обсуждение, отзывы о книге «Excel. Трюки и эффекты» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x