Новости:

Теперь на форум можно залогиниться / зарегистрироваться с помощью ВКонтакте. Уже существующие пользователи могут связать свою учетную запись с аккаунтом ВКонтакте одним кликом в профиле пользователя http://forum.msexcel.ru/index.php?action=profile;area=account

Главное меню

Выделение и формат диапазона строки по условию

Автор mvi, 27.09.2011, 18:01

« назад - далее »

mvi

Добрый вечер господа.

В VBA еще не достаточно силен, но потихоньку осваиваю.
Вот сегодня при написании застопорился вот в каком месте:
1) есть исходные данные без редактирования (первый лист прикрепленного файла)
2) пишу макрос чтобы не вручную форматировать диапазон данных (диапазон порядка 10-15 тыс строк потому и макрос нужен).
3) то как нужно отформатировать  - нарисовал на втором листе.
4) то что получается при использовании написанного мною кода - третий лист книги.

Собственно сам код:

Sub Разукраска()
  Dim i As Range
  Set i = Range("B6:B50000")
  For Each i In [B6:B50000]
        If i <> "" Then
        i.EntireRow.Select
        Selection.Interior.Color = 13434879
        End If
    Next
  End Sub

Как я сам понимаю (но не хватает знаний и опыта) проблема кроется вот тут - "i.EntireRow.Select" = выделяется вся строка, а не нужный мне диапазон В:G.

Дайте мне пожалуйста дельный совет.

nilem

Попробуйте так:
Sub Разукраска()
Dim r As Range
For Each r In [B6:B50000]
    If r <> "" Then r.Resize(, 6).Interior.ColorIndex = 19
Next
End Sub

mvi

Цитата: nilem от 27.09.2011, 20:00
Попробуйте так:
Sub Разукраска()
Dim r As Range
For Each r In [B6:B50000]
    If r <> "" Then r.Resize(, 6).Interior.ColorIndex = 19
Next
End Sub


Спасибо. То что доктор прописал.