Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Программирование в Microsoft Excel для пользователей
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

18. Объект Range, его свойства и методы

Лабораторная работа 18.1 Работа с объектом Range

Объект Excel.Range в макросах VBA, программное заполнение ячеек, изменение формата ячеек

Задание:

Измените созданный вами на предыдущей лабораторной работе макрос Calendar() таким образом, чтобы он дополнительно:

внес в ячейки с A3 по A367 включительно даты с 01 января 2006 г. по 31 декабря 2006 г.

все ячейки, для которых даты попадают на субботы и воскресенье, были бы помечены красным цветом.

Примечание.

Для добавления информации о праздниках на практике можно было бы использовать объектную модель Outlook. Однако для целей этой лабораторной работы нам достаточно выделить только субботы и воскресенья.

Решение:

Измененный код для макроса Calendar() может быть таким:

Public Sub Calendar()

Dim oWbk As Workbook

Dim oWorksheet As Worksheet

Application.DisplayAlerts = False

Set oWbk = Application.Workbooks.Add()

For Each oWorksheet In oWbk.Worksheets

    If oWorksheet.Name = "Лист1" Then

        oWorksheet.Name = "Календарь"

    Else

        oWorksheet.Delete

    End If

Next

Set oWorksheet = oWbk.Worksheets("Календарь")

Dim oRange As Range

Set oRange = oWorksheet.Range("A3")

oRange.Value = #1/1/2006#

If DatePart("w", oRange.Value, vbMonday, vbFirstJan1) = 6 Or _

DatePart("w", oRange.Value, vbMonday, vbFirstJan1) = 7 Then

    oRange.Interior.Color = vbRed

End If

Dim i As Integer

Dim dDate As Date

For i = 1 To 364

    dDate = oRange.Value

    Set oRange = oRange.Offset(1, 0)

    oRange.Value = DateAdd("d", 1, dDate)

    If DatePart("w", oRange.Value, vbMonday, vbFirstJan1) = 6 Or _

    DatePart("w", oRange.Value, vbMonday, vbFirstJan1) = 7 Then

        oRange.Interior.Color = vbRed

    End If

Next

oWorksheet.Columns("A").AutoFit

End Sub

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2016, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru