Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Окрашивание ячеек в телефонной книге - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Окрашивание ячеек в телефонной книге
Gold_Barsik Дата: Пятница, 23.02.2018, 00:41 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 459
Репутация: 6 ±
Замечаний: 0% ±

2003
Доброго времени суток!
Хочу сделать телефонную книгу. Есть список телефонов, сотовые разных операторов, стационарные городские, междугородние.
Как можно окрасить ячейки в зависимости от сотового оператора, города, страны.
Что бы при вводе номера ячейка окрашивалась и отображала: Имя оператора, регион, страна.
К сообщению приложен файл: __.xls (70.0 Kb)


Сообщение отредактировал Gold_Barsik - Пятница, 23.02.2018, 00:55
 
Ответить
СообщениеДоброго времени суток!
Хочу сделать телефонную книгу. Есть список телефонов, сотовые разных операторов, стационарные городские, междугородние.
Как можно окрасить ячейки в зависимости от сотового оператора, города, страны.
Что бы при вводе номера ячейка окрашивалась и отображала: Имя оператора, регион, страна.

Автор - Gold_Barsik
Дата добавления - 23.02.2018 в 00:41
Che79 Дата: Суббота, 24.02.2018, 16:53 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 306 ±
Замечаний: 0% ±

2013 Win, 365 Mac
Gold_Barsik, здравствуйте. Глобальную задачу не очень понял. Как вариант чисто по примеру (см. файл)
К сообщению приложен файл: 123456-.xls (78.0 Kb)


Делай нормально и будет нормально!

Сообщение отредактировал Che79 - Суббота, 24.02.2018, 16:53
 
Ответить
СообщениеGold_Barsik, здравствуйте. Глобальную задачу не очень понял. Как вариант чисто по примеру (см. файл)

Автор - Che79
Дата добавления - 24.02.2018 в 16:53
Gold_Barsik Дата: Суббота, 24.02.2018, 18:06 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 459
Репутация: 6 ±
Замечаний: 0% ±

2003
Здравствуйте Che79, ! Неее. не то.
Мысль такая!
например в пустую ячейку с форматом +7" "(#)" "000-00-00 столбца "B" вводим № телефона типа 9007900000
в результате получить +7 (900) 790-00-00 Антарес, Воронежская обл.
В зависимости от сотового оператора как бы появляется подложка ячейки с надписью оператора и региона, а ячейка окрашивается в цвет сотового оператора).
Хотелось бы приложить всю книгу целиком, но Лист3 весомым оказался (файл потянул на 996 КБ).
К сообщению приложен файл: 6791040.xls (70.0 Kb)


Сообщение отредактировал Gold_Barsik - Суббота, 24.02.2018, 18:16
 
Ответить
СообщениеЗдравствуйте Che79, ! Неее. не то.
Мысль такая!
например в пустую ячейку с форматом +7" "(#)" "000-00-00 столбца "B" вводим № телефона типа 9007900000
в результате получить +7 (900) 790-00-00 Антарес, Воронежская обл.
В зависимости от сотового оператора как бы появляется подложка ячейки с надписью оператора и региона, а ячейка окрашивается в цвет сотового оператора).
Хотелось бы приложить всю книгу целиком, но Лист3 весомым оказался (файл потянул на 996 КБ).

Автор - Gold_Barsik
Дата добавления - 24.02.2018 в 18:06
abtextime Дата: Суббота, 24.02.2018, 19:22 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация: 117 ±
Замечаний: 0% ±

Excel 2010
Тут кому-то кроме уважаемого коллеги Che79 можно "высказаться"?

Если да, то смотрите такой полуфабрикат
[vba]
Код

Public Function Оператор(S As String) As String
    Dim R As Range, Code As String, Phone As Long
    Set R = Worksheets("коды, операторы, регионы").Range("A3:K104")
    Code = Left(S, 3)
    Phone = CLng(Right(S, Len(S) - 3))
    For i = 1 To R.Rows.Count
        If R.Cells(i, 9).Value = Code And R.Cells(i, 10).Value <= Phone And R.Cells(i, 11).Value >= Phone Then
            Оператор = R.Cells(i, 1) & ", " & R.Cells(i, 2) & "  +7(" & Code & ") " & Mid(S, 4, 3) & "-" & Mid(S, 8, 2) & "-" & Mid(S, 10, 2)
            Exit Function
        End If
    Next i
End Function
[/vba]
К сообщению приложен файл: -1-.xls (99.0 Kb)
 
Ответить
СообщениеТут кому-то кроме уважаемого коллеги Che79 можно "высказаться"?

Если да, то смотрите такой полуфабрикат
[vba]
Код

Public Function Оператор(S As String) As String
    Dim R As Range, Code As String, Phone As Long
    Set R = Worksheets("коды, операторы, регионы").Range("A3:K104")
    Code = Left(S, 3)
    Phone = CLng(Right(S, Len(S) - 3))
    For i = 1 To R.Rows.Count
        If R.Cells(i, 9).Value = Code And R.Cells(i, 10).Value <= Phone And R.Cells(i, 11).Value >= Phone Then
            Оператор = R.Cells(i, 1) & ", " & R.Cells(i, 2) & "  +7(" & Code & ") " & Mid(S, 4, 3) & "-" & Mid(S, 8, 2) & "-" & Mid(S, 10, 2)
            Exit Function
        End If
    Next i
End Function
[/vba]

Автор - abtextime
Дата добавления - 24.02.2018 в 19:22
Gold_Barsik Дата: Суббота, 24.02.2018, 21:13 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 459
Репутация: 6 ±
Замечаний: 0% ±

2003
Конечно можно!
Здравствуйте!
С макросами я ваще не дружу! (
В ячейке удобнее, визуально, сначала номер потом оператор и регион. Как на листе коды, операторы, регионы. но необходимо это всё в одной ячейке, куда вводим номер.
Вводим № телефона, Enter, и видим в ней результат Доступно только для пользователей. Фон красный, цвет шрифта в соответствии с читабельностью цветной графики и шрифта.


Сообщение отредактировал Gold_Barsik - Суббота, 24.02.2018, 21:21
 
Ответить
СообщениеКонечно можно!
Здравствуйте!
С макросами я ваще не дружу! (
В ячейке удобнее, визуально, сначала номер потом оператор и регион. Как на листе коды, операторы, регионы. но необходимо это всё в одной ячейке, куда вводим номер.
Вводим № телефона, Enter, и видим в ней результат Доступно только для пользователей. Фон красный, цвет шрифта в соответствии с читабельностью цветной графики и шрифта.

Автор - Gold_Barsik
Дата добавления - 24.02.2018 в 21:13
abtextime Дата: Воскресенье, 25.02.2018, 14:27 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация: 117 ±
Замечаний: 0% ±

Excel 2010
Gold_Barsik,

смотрите

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim R, RR As Range
Set RR = Range("D3:D10")
If Not Intersect(RR, Target) Is Nothing Then
    Set R = ActiveCell.Offset(-1, 0)
    If Len(R.Value) = 10 Then R.Value = Оператор(R.Value)
End If
End Sub

Public Function Оператор(S As String) As String
    Dim R As Range, Code As String, Phone As Long
    Set R = Worksheets("коды, операторы, регионы").Range("A3:K104")
    Code = Left(S, 3)
    Phone = CLng(Right(S, Len(S) - 3))
    Region = ""
    For i = 1 To R.Rows.Count
        If R.Cells(i, 2) <> "" Then Region = R.Cells(i, 2)
        If R.Cells(i, 9).Value = Code And R.Cells(i, 10).Value <= Phone And R.Cells(i, 11).Value >= Phone Then
            Оператор = "+7(" & Code & ") " & Mid(S, 4, 3) & "-" & Mid(S, 7, 2) & "-" & Mid(S, 9, 2) & "   " & R.Cells(i, 1) & ", " & Region
            Exit Function
        End If
    Next i
End Function
[/vba]
К сообщению приложен файл: 9859376.xlsm (37.1 Kb)


Сообщение отредактировал abtextime - Воскресенье, 25.02.2018, 14:28
 
Ответить
СообщениеGold_Barsik,

смотрите

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim R, RR As Range
Set RR = Range("D3:D10")
If Not Intersect(RR, Target) Is Nothing Then
    Set R = ActiveCell.Offset(-1, 0)
    If Len(R.Value) = 10 Then R.Value = Оператор(R.Value)
End If
End Sub

Public Function Оператор(S As String) As String
    Dim R As Range, Code As String, Phone As Long
    Set R = Worksheets("коды, операторы, регионы").Range("A3:K104")
    Code = Left(S, 3)
    Phone = CLng(Right(S, Len(S) - 3))
    Region = ""
    For i = 1 To R.Rows.Count
        If R.Cells(i, 2) <> "" Then Region = R.Cells(i, 2)
        If R.Cells(i, 9).Value = Code And R.Cells(i, 10).Value <= Phone And R.Cells(i, 11).Value >= Phone Then
            Оператор = "+7(" & Code & ") " & Mid(S, 4, 3) & "-" & Mid(S, 7, 2) & "-" & Mid(S, 9, 2) & "   " & R.Cells(i, 1) & ", " & Region
            Exit Function
        End If
    Next i
End Function
[/vba]

Автор - abtextime
Дата добавления - 25.02.2018 в 14:27
Gold_Barsik Дата: Воскресенье, 25.02.2018, 17:04 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 459
Репутация: 6 ±
Замечаний: 0% ±

2003
abtextime, Здравствуйте!

Подскажите что мне с этим нужно сделать? Кроме как "смотрите".
Файл открыл каким-то скачанным приложением. Посмотрел. И вошёл в ступор.
Понимаю что в двух словах не объяснить, хотя бы подскажите дальнейшие мои действия.
В макросах я не бум-бум.

Если я переставлю столбцы С и D вперёд как будет работать макрос?
И строк у меня вышло 6470.

Ваш пример вроде работает как надо, но как он после сработает в "моей" книге?
Строки (6470) подрезал, для уменьшения объёма.
А формат обязательно xlsm ?
К сообщению приложен файл: _Xl0000001.xls (73.5 Kb)


Сообщение отредактировал Gold_Barsik - Воскресенье, 25.02.2018, 17:48
 
Ответить
Сообщениеabtextime, Здравствуйте!

Подскажите что мне с этим нужно сделать? Кроме как "смотрите".
Файл открыл каким-то скачанным приложением. Посмотрел. И вошёл в ступор.
Понимаю что в двух словах не объяснить, хотя бы подскажите дальнейшие мои действия.
В макросах я не бум-бум.

Если я переставлю столбцы С и D вперёд как будет работать макрос?
И строк у меня вышло 6470.

Ваш пример вроде работает как надо, но как он после сработает в "моей" книге?
Строки (6470) подрезал, для уменьшения объёма.
А формат обязательно xlsm ?

Автор - Gold_Barsik
Дата добавления - 25.02.2018 в 17:04
abtextime Дата: Воскресенье, 25.02.2018, 17:53 | Сообщение № 8
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация: 117 ±
Замечаний: 0% ±

Excel 2010
Gold_Barsik,
Файл с данным макросом настроен таким образом. что после ввода/корректировки ячейки (т.е. после нажатия Enter в ячейке) в диапазоне D3:D10 (строчка кода Set RR = Range("D3:D10")) происходит обращение к функции Оператор() , которая в эту же ячейку записывает строку с оператором и регионом

Чтобы адаптировать под ваш случай, замените в коде
- "D3:D10" на ваш диапазон, куда будете вводить телефоны,
- "A3:K104" на ваш диапазон, где расположены номера

Обращаю Ваше внимание, что на листе "коды, операторы, регионы" я добавил вычисляемые столбцы I, J и K, в которые распарсил код, начальный номер и конечный номер группы номеров. Значения этих столбцов я использую в коде функции. Можно парсинг сделать и в коде VBA, конечно. Только непонятно, почему у вас в столбца C, D и E такой зоопарк, нет единообразия. Это как-то неправильно, полагаю. Чтобы правильно парсить в коде функции все ваши варианты указания диапазона номеров, надо понимать. что их какое-то конечное и обозримое количество.

В заключение некое общее соображение. Если Вы собираетесь и дальше ставить такие довольно нетривиальные задачи, то потратьте несколько часов, посмотрите видео, почитайте статьи и хотя бы в самых общих чертах изучите, что такое макросы и UDF, как они работают и как их запускать и применять.
 
Ответить
СообщениеGold_Barsik,
Файл с данным макросом настроен таким образом. что после ввода/корректировки ячейки (т.е. после нажатия Enter в ячейке) в диапазоне D3:D10 (строчка кода Set RR = Range("D3:D10")) происходит обращение к функции Оператор() , которая в эту же ячейку записывает строку с оператором и регионом

Чтобы адаптировать под ваш случай, замените в коде
- "D3:D10" на ваш диапазон, куда будете вводить телефоны,
- "A3:K104" на ваш диапазон, где расположены номера

Обращаю Ваше внимание, что на листе "коды, операторы, регионы" я добавил вычисляемые столбцы I, J и K, в которые распарсил код, начальный номер и конечный номер группы номеров. Значения этих столбцов я использую в коде функции. Можно парсинг сделать и в коде VBA, конечно. Только непонятно, почему у вас в столбца C, D и E такой зоопарк, нет единообразия. Это как-то неправильно, полагаю. Чтобы правильно парсить в коде функции все ваши варианты указания диапазона номеров, надо понимать. что их какое-то конечное и обозримое количество.

В заключение некое общее соображение. Если Вы собираетесь и дальше ставить такие довольно нетривиальные задачи, то потратьте несколько часов, посмотрите видео, почитайте статьи и хотя бы в самых общих чертах изучите, что такое макросы и UDF, как они работают и как их запускать и применять.

Автор - abtextime
Дата добавления - 25.02.2018 в 17:53
abtextime Дата: Воскресенье, 25.02.2018, 17:57 | Сообщение № 9
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация: 117 ±
Замечаний: 0% ±

Excel 2010
Приложенный Вами файл ничего общего с моим не имеет. Мой имеет расширение xlsm. т.е. в нем разрешены макросы

"Файл открыл каким-то скачанным приложением." - что это означает? Вы мой файл не с помощью Excel открывали?
 
Ответить
СообщениеПриложенный Вами файл ничего общего с моим не имеет. Мой имеет расширение xlsm. т.е. в нем разрешены макросы

"Файл открыл каким-то скачанным приложением." - что это означает? Вы мой файл не с помощью Excel открывали?

Автор - abtextime
Дата добавления - 25.02.2018 в 17:57
abtextime Дата: Воскресенье, 25.02.2018, 18:01 | Сообщение № 10
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация: 117 ±
Замечаний: 0% ±

Excel 2010
И вообще, учитывая Вашу слабую подготовку, Вы бы лучше в Работа/Фриланс разместили, отдали бы весь ваш реальный файл исполнителю и получили бы достаточно быстро готовый результат.

А то жалко Вас, мучаетесь только ...
 
Ответить
СообщениеИ вообще, учитывая Вашу слабую подготовку, Вы бы лучше в Работа/Фриланс разместили, отдали бы весь ваш реальный файл исполнителю и получили бы достаточно быстро готовый результат.

А то жалко Вас, мучаетесь только ...

Автор - abtextime
Дата добавления - 25.02.2018 в 18:01
Manyasha Дата: Воскресенье, 25.02.2018, 18:04 | Сообщение № 11
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 902 ±
Замечаний: 0% ±

Excel 2010, 2016
abtextime, у ТС 2003-й офис, если верить профилю. Т.е. xlsm он не сможет открыть.


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеabtextime, у ТС 2003-й офис, если верить профилю. Т.е. xlsm он не сможет открыть.

Автор - Manyasha
Дата добавления - 25.02.2018 в 18:04
abtextime Дата: Воскресенье, 25.02.2018, 18:11 | Сообщение № 12
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация: 117 ±
Замечаний: 0% ±

Excel 2010
Manyasha, я насчет таких древних версий и не помню. Просто в xls сохранить? отработает у него там данный макрос?
 
Ответить
СообщениеManyasha, я насчет таких древних версий и не помню. Просто в xls сохранить? отработает у него там данный макрос?

Автор - abtextime
Дата добавления - 25.02.2018 в 18:11
Manyasha Дата: Воскресенье, 25.02.2018, 18:27 | Сообщение № 13
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 902 ±
Замечаний: 0% ±

Excel 2010, 2016
abtextime, да, в 2003-м все в xls.
отработает у него там данный макрос?


Я не вникала в файл, макрос-то он вроде добавил, видимо структура файла изменилась?


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеabtextime, да, в 2003-м все в xls.
отработает у него там данный макрос?


Я не вникала в файл, макрос-то он вроде добавил, видимо структура файла изменилась?

Автор - Manyasha
Дата добавления - 25.02.2018 в 18:27
Gold_Barsik Дата: Воскресенье, 25.02.2018, 19:18 | Сообщение № 14
Группа: Проверенные
Ранг: Обитатель
Сообщений: 459
Репутация: 6 ±
Замечаний: 0% ±

2003
abtextime, блин!!!! а я их удалил, думал что за фигня прилипла к столбцам I, J и K. (((
Ваш файл открыл скачал приложение, т.к. нечем было открыть.
С файлом я не мучаюсь, пытаюсь понять.
офис у меня ТС 2003-й. может и древняя, но я напоминаю, такая существует.
Макрос работает, только в виду перестановки столбцов перестал работать.
Поэтому приложил свеженький файлик _Xl0000001.xls.


Сообщение отредактировал Gold_Barsik - Воскресенье, 25.02.2018, 19:19
 
Ответить
Сообщениеabtextime, блин!!!! а я их удалил, думал что за фигня прилипла к столбцам I, J и K. (((
Ваш файл открыл скачал приложение, т.к. нечем было открыть.
С файлом я не мучаюсь, пытаюсь понять.
офис у меня ТС 2003-й. может и древняя, но я напоминаю, такая существует.
Макрос работает, только в виду перестановки столбцов перестал работать.
Поэтому приложил свеженький файлик _Xl0000001.xls.

Автор - Gold_Barsik
Дата добавления - 25.02.2018 в 19:18
abtextime Дата: Воскресенье, 25.02.2018, 19:35 | Сообщение № 15
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация: 117 ±
Замечаний: 0% ±

Excel 2010
Gold_Barsik, в последнем посте хотели файл приложить? не приложился

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

Попробуйте выполнить рекомендации из моего поста №8, приложите фалй, если что-то не будет получаться

И, да, заливка красным цветом оператора МТС выполняется условным форматированием. Для Билайн, Мегафон и и т.д. добавьте соответствующие правила в УФ, с другой заливкой
 
Ответить
СообщениеGold_Barsik, в последнем посте хотели файл приложить? не приложился

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

Попробуйте выполнить рекомендации из моего поста №8, приложите фалй, если что-то не будет получаться

И, да, заливка красным цветом оператора МТС выполняется условным форматированием. Для Билайн, Мегафон и и т.д. добавьте соответствующие правила в УФ, с другой заливкой

Автор - abtextime
Дата добавления - 25.02.2018 в 19:35
Gold_Barsik Дата: Воскресенье, 25.02.2018, 20:28 | Сообщение № 16
Группа: Проверенные
Ранг: Обитатель
Сообщений: 459
Репутация: 6 ±
Замечаний: 0% ±

2003
abtextime, файл приложен в Сообщение № 7.
рекомендации из Вашего поста №8 выполнил.
В принципе работает, но операторов целое ведро. Трёх УФ на всех не хватает.
Может цвет ячейки брать из листа "коды, операторы, регионы"? Что скажите?
 
Ответить
Сообщениеabtextime, файл приложен в Сообщение № 7.
рекомендации из Вашего поста №8 выполнил.
В принципе работает, но операторов целое ведро. Трёх УФ на всех не хватает.
Может цвет ячейки брать из листа "коды, операторы, регионы"? Что скажите?

Автор - Gold_Barsik
Дата добавления - 25.02.2018 в 20:28
abtextime Дата: Воскресенье, 25.02.2018, 20:32 | Сообщение № 17
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация: 117 ±
Замечаний: 0% ±

Excel 2010
А почему именно три УФ? Делайте сколько угодно.
Разумеется, можно и в код VBA зашить выбор заливки и шрифта, просто это более трудоёмко. И не понятно, почему надо игнорировать такой удобный инструмент. как УФ

В любом случае - на сегодня всё. Желаю удачи
 
Ответить
СообщениеА почему именно три УФ? Делайте сколько угодно.
Разумеется, можно и в код VBA зашить выбор заливки и шрифта, просто это более трудоёмко. И не понятно, почему надо игнорировать такой удобный инструмент. как УФ

В любом случае - на сегодня всё. Желаю удачи

Автор - abtextime
Дата добавления - 25.02.2018 в 20:32
Gold_Barsik Дата: Воскресенье, 25.02.2018, 20:42 | Сообщение № 18
Группа: Проверенные
Ранг: Обитатель
Сообщений: 459
Репутация: 6 ±
Замечаний: 0% ±

2003
в 2003 их всего три.
И Вам большое спасибо!


Сообщение отредактировал Gold_Barsik - Воскресенье, 25.02.2018, 20:44
 
Ответить
Сообщениев 2003 их всего три.
И Вам большое спасибо!

Автор - Gold_Barsik
Дата добавления - 25.02.2018 в 20:42
abtextime Дата: Воскресенье, 25.02.2018, 22:19 | Сообщение № 19
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация: 117 ±
Замечаний: 0% ±

Excel 2010
Gold_Barsik,

понятно

ну можно этот фрагмент кода[vba]
Код
If Len(R.Value) = 10 Then R.Value = Оператор(R.Value)
[/vba]заменить на, условно,

[vba]
Код
If Len(R.Value) = 10 Then
   R.Value = Оператор(R.Value)
   if R.Value Like "МТС,*" then
      R.Font.Color =
      R.Interior.Color =
   End If
   if R.Value Like "Билайн,*" then
      R.Font.Color =
      R.Interior.Color =
   End If

   и т.д.

End If
[/vba]
 
Ответить
СообщениеGold_Barsik,

понятно

ну можно этот фрагмент кода[vba]
Код
If Len(R.Value) = 10 Then R.Value = Оператор(R.Value)
[/vba]заменить на, условно,

[vba]
Код
If Len(R.Value) = 10 Then
   R.Value = Оператор(R.Value)
   if R.Value Like "МТС,*" then
      R.Font.Color =
      R.Interior.Color =
   End If
   if R.Value Like "Билайн,*" then
      R.Font.Color =
      R.Interior.Color =
   End If

   и т.д.

End If
[/vba]

Автор - abtextime
Дата добавления - 25.02.2018 в 22:19
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!