: C3"). Cells (i, j). Value = -1
End If
Next
Next
Якщо потрібно задати абсолютне місце розташування осередків, то треба скористатися властивістю Cells робочого листа, наприклад як в лістингу 12.
Лістинг 12. Абсолютне місце розташування осередків
Dim i As Integer Dim j As Integer For i = 2 To 3 For j = 1 To 3
If Cells (i, j). Value> 0 Then
Cells (i, j). Value = 1 Elself Cells (i, j). Value <0 Then
Cells (i, j). Value = -1
End If
Next
Nex
Пошук значення в діапазоні
Метод Find об'єкта Range виробляє пошук специфікованої інформації в зазначеному діапазоні і повертає посилання на першу клітинку, в якій знаходиться потрібна інформація знайдена. У разі не виявлення шуканих даних, метод повертає значення Nothing
Лістинг 13. Пошук значення
Public Sub Poiskznacheni ()
Dim rng As Range
Set rng = Range ("A1: A10"). Find (What: = 17, LookIn: = xlValues)
If Not (rng Is Nothing) Then
MsgBox rng.Address
Else
MsgBox "не знайдено значення"
End If
End Sub
Лістинг 14 Пошук підрядка без урахування регістра
Sub DemoFindNoMatchCase ()
Dim rng As Range
Set rng = Range ("A1: A10"). Find (What: = "BHV", LookIn: = xlValues, _
LookAt: = xlPart, MatchCase: = False)
If Not (rng Is Nothing) Then
MsgBox rng.Value
Else
MsgBox "не знайдено подходяшіе значення "
End If
End Sub
Повторний пошук та пошук всіх значень
Метод FindNext і FindPrevious об'єкта Range реалізує повторний виклик методу Find для продовження специфікованого пошуку. Перший з методів виробляє пошук наступної комірки, а другий - пошук попередньої, що задовольняє оголошеним критеріям пошуку.
FindNext (after)
FindPrevious (after)
Тут after-необов'язковий параметр, який вказує на клітинку після якої треба проводити пошук.
Лістинг 15. Знаходження всіх входжень підрядка в даний діапазон
Sub DemoFind ()
Dim firstAddress As String
Dim rng As Range
Set rng = Range ("A1: A10"). Find (What: = "MS", LookIn: = xlValues, _
LookAt: = xlPart, MatchCase: = False)
If Not (rng Is Nothing) Then
firstAddress = rng.Address
Do
rng.Interior.Color = RGB (255, 255, 0)
Set rng = Range ("a1: a10"). FindNext (rng)
Loop While Not (rng Is Nothing) And rng.Address <> firstAddress
End If
End Sub
Відсилання електронної пошти
Відсилання електронної пошти з даними робочого листа може проводиться за допомогою засобів Microsoft Outlook.
Лістинг 16. Відсилання електронної пошти
Private Sub cmdEMail_Click ()
Dim objOL As New Outlook.Application
Dim objMail As MailItem
Set objOL = New Outlook.Application
Set objMail = objOL.CreateItem (olMailItem)
With objMail
. To = Range ("B1"). Value
. Body = Range ("B2"). Value
. Subject = Range ("B3"). Value
. CC = Range ("B4"). Value
. Display
End With
Set objMail = Nothing
Set objOL = Nothing
End Sub
Умовне форматування
Умовне форматування дозволяє ефективно відображати, форматуючи осередку вибірково, грунтуючись на їх змісті.
Лістинг 17. Умовне форматування
Private Sub optAverage_Click ()
Dim r As Range
Set r = Range ("B1: B6")
r.FormatConditions.Delete
r.FormatConditions.Add Type: = xlExpression, _
Formula1: = "= B1> = СРЗНАЧ ($ B $ 1: $ B $ 6)"
r.FormatConditions (1). Interior.Color = RGB (255, 255, 0)
End Sub
Private Sub optMax_Click ()
Dim r As Range
Set r = Range ("B1: B6")
r.FormatConditions.Delete
r.FormatConditions.Add Type: = xlCellValue, _
Operator: = xlEqual, _
Formula1: = "$ B $ 9"
With r.FormatConditions (1). Font
. Bold = True
. Italic = False
. Color = RGB (255, 0, 0)
End With
End Sub
Private Sub optValue_Click ()
Dim r As Range
Set r = Range ("B1: B6")
r.FormatConditions.Delete
r.FormatConditions.Add Type: = xlCellValue, _
Operator: = xlGreaterEqual, _
Formula1: = "$ G $ 8"
r.FormatConditions (1). Interior.Color = RGB (0, 0, 255)
End Sub
В
Управління стилем межі діапазону та об'єктами Border
Властивість Border об'єкта Range повертає сімейство Borders, елементи якого не інкапсулюють дані про одну з граничних або діагональ...