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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2010, 05:54   #41
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Ваш код выдает ошибки, может, я что-то не то делаю?
Это значит, что листы либо заполнены произвольным образом, либо вообще не заполнены, либо в UsedRange какого-либо листа не входит 1-я строка (1-й столбец). Т.е. не выполняются предполагаемые мной условия. Ну, тогда попробуйте воспользоваться кодом, который может работать с произвольно заполненными листами и с произвольным объединением ячеек:
Код:
Sub RangeClear()
    Dim ws As Worksheet, c As Range, r As Range, arrC(), arrR()
    For Each ws In Sheets
        Set c = ws.Range(ws.[A1], ws.Cells(1, Columns.Count).End(xlToLeft).Offset(, 1)): arrC = c.Value
        Set r = ws.Range(ws.[A1], ws.Cells(Rows.Count, 1).End(xlUp).Offset(1)): arrR = r.Value
        ws.Cells.ClearContents: c.Value = arrC: r.Value = arrR
    Next
End Sub
Пример использования во вложении.

По поводу окрашивания добавленных ячеек: попробуйте вместо строки кода
Код:
If data(z + 1) <> "" And r <> 1 Then arr(r, c) = data(z + 1)
использовать
Код:
Dim rng As Range
If data(z + 1) <> "" And r <> 1 Then
    arr(r, c) = data(z + 1)
    If rng Is Nothing Then Set rng = .Cells(r, c) Else Set rng = Union(rng, .Cells(r, c))
End If
где для каждого листа будет формироваться диапазон ячеек rng, который подлежит окрашиванию. Для того, чтобы окрасить этот диапазон, например, в желтый цвет, в конце цикла по листам книги добавьте строку
Код:
rng.Interior.ColorIndex = 6
Сравните время выполнения макросов с окрашиванием ячеек и без него (я этого не делал).
Вложения
Тип файла: rar Книга1.rar (7.7 Кб, 9 просмотров)
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 14.05.2010 в 04:41.
SAS888 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задачи: на двумерные массивы,обработку строк,обработку текстовых файлов. (Паскаль) Yaro Помощь студентам 2 12.11.2009 12:55
Как ускорить попиксельную обработку изображения Дамир Общие вопросы .NET 1 02.11.2009 12:40
Сравнение текста InStr() SoFuWa Microsoft Office Excel 7 22.07.2009 14:38
Сравнение Instr(), Строчине и прописные буквы SoFuWa Microsoft Office Excel 2 30.05.2009 16:20