Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2011, 16:12   #1
Dadec
 
Регистрация: 24.06.2011
Сообщений: 3
По умолчанию Создание макроса на закрашивание ячеек в Еxcel 2003

Доброго времени суток, очень нужна помощь.

во вложенном файле три картинки,
1) в первой - представленна строка из 10 ячеек
2) во второй , то что мне нужно:
я ставлю число "3" в третью ячейку,а Excel закрашивает три ячейки начиная с данной,
далее я ставлю число "2" в четвертую ячейку, Excel закрашивает две ячейки, но уже после закрашенных,
также происходит и с шестой ячейкой
3) на третьей картинке видно, что если при постановке числа "3", а потом "2" закрашиваются ячейки как в пункте 2 (см. выше), а если я поставлю еще одно число "2", но уже после закрашенных ячеек, то нужно закрасить две ячейки начиная с этого числа "2"
Изображения
Тип файла: jpg рис 1.JPG (8.2 Кб, 273 просмотров)
Тип файла: jpg рис 2.JPG (9.5 Кб, 285 просмотров)
Тип файла: jpg рис 3.JPG (9.7 Кб, 229 просмотров)
Dadec вне форума Ответить с цитированием
Старый 24.06.2011, 16:18   #2
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

Только макрос? Условное форматирование отвергается? В Excel-2003 три условия, т.е. можно задать три цвета.
vikttur вне форума Ответить с цитированием
Старый 24.06.2011, 16:21   #3
Watcher_1
Форумчанин
 
Аватар для Watcher_1
 
Регистрация: 22.06.2011
Сообщений: 325
По умолчанию

Приветствую!
Вот на скорую руку накидал

Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(Target.Row, Target.Column) <> "" Then
For i = Target.Column To Target.Column + Cells(Target.Row, Target.Column) - 1
Cells(Target.Row, i).Interior.Color = 65535
Next
End If
End Sub

Тока с заменой цветов я думаю сами подумаете по какому алгоритму их менять...
Заказать макрос можно на сайте http://excel4you.ru/
Watcher_1 вне форума Ответить с цитированием
Старый 24.06.2011, 16:31   #4
Dadec
 
Регистрация: 24.06.2011
Сообщений: 3
По умолчанию

спасибо, попробую разобраться =)
а насчет цветов - неважно, главное чтобы закрашивались, можно даже одним цветом
Dadec вне форума Ответить с цитированием
Старый 24.06.2011, 18:30   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Такой вариант:
Код:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("A1:N20")) Is Nothing Then
        If IsNumeric(Target.Value) Then
            Range(Target, Target.Offset(, Target.Value - 1)).Interior.ColorIndex = Target.Value + 2
        End If
    End If
End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 28.06.2011, 16:35   #6
Dadec
 
Регистрация: 24.06.2011
Сообщений: 3
По умолчанию

Спасибо большое за помошь
Dadec вне форума Ответить с цитированием
Старый 04.10.2014, 00:34   #7
SandroG
Новичок
Джуниор
 
Аватар для SandroG
 
Регистрация: 03.10.2014
Сообщений: 2
По умолчанию Создание макроса на закрашивание ячеек в Еxcel 2003

*** Здравствуйте. ***
Есть вот такая мысль:
- Две заполняемых ячейки. Например: "Ширина" и "Высота" В первую вводим значение 600, во вторую 1200.
- Далее происходит округление двух цифр с права. Результат "Ш=6;В=12"
- Макрос анализирует и выделяет рамкой поле для заполнения 6 х 12 ячеек. Где первая строка - это размер заливки по ширине, а вторая - это размер заливки по высоте.
- В первую строку вводим 700 - также округление и условие, при котором выводится "Недопустимый размер". Вводим 300 - заливается 3 ячейки по горизонтали.
- Во вторую вводим 1200 - "Недопустимый размер". Вводим 1100 - заливается 11 ячеек.
- При этом цифры в ячейках должны иметь исходный вид.
...
Помогите пожалуйста реализовать.
Вложения
Тип файла: rar Образец заполнения.rar (6.3 Кб, 18 просмотров)
*** С уважением, Александр ***

Последний раз редактировалось SandroG; 04.10.2014 в 00:40.
SandroG вне форума Ответить с цитированием
Старый 04.10.2014, 12:01   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

этот
Код:
Private Sub worksheet_change(ByVal target As Range)
  If target.Column <> 9 Then Exit Sub
  If Not (target.Row = 2 Or target.Row = 3) Then Exit Sub
  If Cells(2, 9) < 100 Or Cells(2, 9) > 1600 Then MsgBox "Error": Exit Sub
  If Cells(3, 9) < 100 Or Cells(3, 9) > 2000 Then MsgBox "Error": Exit Sub
  Cells(3, 9).Resize(19, 1).Interior.Pattern = xlNone
  Cells(3, 9).Resize(Cells(3, 9) / 100, 1).Interior.Color = Cells(2, 9).Interior.Color
  Cells(2, 10).Resize(1, 15).Interior.Pattern = xlNone
  Cells(2, 10).Resize(1, Cells(2, 9) / 100).Interior.Color = Cells(2, 9).Interior.Color
End Sub
в модуль листа
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 06.10.2014, 22:48   #9
SandroG
Новичок
Джуниор
 
Аватар для SandroG
 
Регистрация: 03.10.2014
Сообщений: 2
По умолчанию

Спасибо за помощь, но немножко не так. В ячейках: (2, 9 и 3, 9) - задаём поле выделения рамочкой, а уже в рамочке заполняем количество заливаемых ячеек, но не больше поля...
...
К сожалению сейчас работа нахлынула. Нет времени разбираться. Чуть освобожусь - обязательно вернусь к данному проекту...
Ещё раз спасибо!
*** С уважением, Александр ***

Последний раз редактировалось SandroG; 06.10.2014 в 22:50.
SandroG вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Закрашивание ячеек в DBGRID jimmi З Помощь студентам 2 05.05.2011 06:38
формат ячеек Excel 2003 tumen Microsoft Office Excel 5 05.04.2011 06:15
Задать число раз выполнения макроса средствами VBA Excel 2003 vfv Microsoft Office Excel 7 16.01.2011 01:57
Как отключить расчет ячеек во время макроса Android1 Microsoft Office Excel 4 15.09.2010 10:58
Закрашивание ячеек в StringGrid ИВэТэшка Помощь студентам 7 12.04.2009 11:09