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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2012, 09:01   #1
OgE®_M@G
Форумчанин
 
Аватар для OgE®_M@G
 
Регистрация: 28.06.2008
Сообщений: 124
По умолчанию Границы

1. Здравствуйте уважаемые. Есть такая проблемка. Начал с изучения VBA. столкнулся с проблемой динамических диапазонов. Есть диапазон A10:N10. Нужно закрашивать ячейки диапазона A10:N10 с шагом 8. Знаю что нужно организовать цикл.
For i=10 to 1000 step 8
then...
Дальше незнаю.
2. Еще удалить целые строки если хотя бы 5 и более из них пустые.
3. Обрисовать границы только тех ячеек где есть значения, но если значения присутствуют в любой ячейки (A2 или B2 или и т.д.) диапазона скажем A10:N10 нарисовать полностью строку.
OgE®_M@G вне форума Ответить с цитированием
Старый 13.02.2012, 10:11   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

A10:N10 - это 14 ячеек. Тут цикл не нужен -
Код:
With [a10:n10]
Union(.Cells(1), .Cells(8)).Interior.Color = vbRed
End With
Удалять строки нужно циклом снизу вверх.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 13.02.2012, 11:17   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Если надо закрасить каждую N-ю строку в таблице:
http://excelvba.ru/code/RepeatRange
EducatedFool вне форума Ответить с цитированием
Старый 13.02.2012, 11:23   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Предположим, что ошибку поняли и исправили: "Нужно закрашивать ячейки диапазона A10:N1000 с шагом 8".
И всё равно непонятно - каждую 8-ю ячейку или в каждой 8-ой строке (тогда сколько ячеек?)?
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 13.02.2012, 14:02   #5
OgE®_M@G
Форумчанин
 
Аватар для OgE®_M@G
 
Регистрация: 28.06.2008
Сообщений: 124
По умолчанию

Первый способ закрашивает только первую и восьмую ячейку диапазона. А мне нужно чтобы закрашивал полностью строку диапазона A10:N1000 с шагом 8 то есть:
1. A10:N10
2. A18:N18
и т.д.
OgE®_M@G вне форума Ответить с цитированием
Старый 13.02.2012, 14:12   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Это другое дело:

Код:
For i = 10 To 1000 Step 8
Rows(i).Interior.Color = vbRed
Next
вернее
Код:
For i = 10 To 1000 Step 8
Rows(i).Cells(1).Resize(, 14).Interior.Color = vbRed
Next
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 13.02.2012 в 14:15.
Hugo121 вне форума Ответить с цитированием
Старый 13.02.2012, 14:19   #7
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Или так
Код:
With Range("A10:N1000")
    For i = 1 To .Rows.Count Step 8
        .Rows(i).Interior.Color = vbRed
    Next
End With
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 13.02.2012, 14:28   #8
OgE®_M@G
Форумчанин
 
Аватар для OgE®_M@G
 
Регистрация: 28.06.2008
Сообщений: 124
По умолчанию

То что надо отлично. Спасибо Казанский. С краской разобрались все таки цикл есть, значит не все со мной потеряно. СПАСИБО.
OgE®_M@G вне форума Ответить с цитированием
Старый 14.02.2012, 15:06   #9
OgE®_M@G
Форумчанин
 
Аватар для OgE®_M@G
 
Регистрация: 28.06.2008
Сообщений: 124
По умолчанию

А если необходимо закрасить дипазон строки A10:N10 и дальше например может быть A15:N15 при условии что в строке A15:N15 находится скажем фраза "любое выражение" Итог
OgE®_M@G вне форума Ответить с цитированием
Старый 18.02.2012, 08:41   #10
OgE®_M@G
Форумчанин
 
Аватар для OgE®_M@G
 
Регистрация: 28.06.2008
Сообщений: 124
По умолчанию

Здравствуйте уважаемые. Разобрался я все таки с закрашиванием диапазона. Так как данные постоянно меняются целесообразным стало использовать "УСЛОВНОЕ ФОРМАТИРОВАНИЕ".
Вопросы 2 и 3 остаются открытыми решение мною еще не найдено. Прошу вашей помощи. Спасибо.
OgE®_M@G вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
границы SpeedButton Пропеллер Компоненты Delphi 0 16.05.2010 22:40
границы ячейки АлёнаP Microsoft Office Excel 2 22.04.2009 17:02
Границы ячеек AnnNet Microsoft Office Excel 4 20.02.2009 12:19