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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2011, 11:29   #1
ZlodeiDen
Пользователь
 
Регистрация: 14.04.2011
Сообщений: 25
По умолчанию Поиск и окраска

Доброго времени суток!
Извиняюсь если создал тему дубликат. (подскажите где смотреть)
Видел много тем с окраской по значению но. они мне не подошли.

Собственно вопрос.
Возможно такое реализовать на VBA ?
Есть два листа с большим колл. строк(2000+) и столбцов(около 25)
Нужно сравнить каждую ячейку на Листе 1 с ячейкой на листе 2 (учитывая название столбца и строки !) и если значение < окрасить к примеру в зелёный > в красный.
Строки на листах могут находится в хаотичном порядке. где-то строк может быть больше, где-то меньше.
Ниже пример.
Вложения
Тип файла: rar Пример.rar (8.0 Кб, 13 просмотров)
ZlodeiDen вне форума Ответить с цитированием
Старый 11.09.2011, 11:43   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

УФ не подойдет здесь.
На другие листы не может оно ссылаться
Только тотальное сравнение каждой ячейки на листах и раскраска в зависимости от значения
посмотрите в этих темах поиск, сравнение
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 11.09.2011 в 11:57. Причина: добавлен поиск
VictorM вне форума Ответить с цитированием
Старый 11.09.2011, 14:47   #3
Михаил С.
Пользователь
 
Регистрация: 02.06.2010
Сообщений: 57
По умолчанию

Цитата:
УФ не подойдет здесь.
Ну почему же не подойдет, вполне можно...
Вложения
Тип файла: rar ZlodeiDen.rar (8.3 Кб, 18 просмотров)
Михаил С. вне форума Ответить с цитированием
Старый 11.09.2011, 16:16   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Просили на VBA...
Тем более, если 2000+ строк и 25 столбцов, то УФ будет напрягать.

Код:
Option Explicit


Sub Pokrasitj()
    Dim a(), b As Range, oDict As Object, i As Long, temp As String
    Dim x As Range, y$

    With Application
        .ScreenUpdating = False

        a = Лист2.[a1].CurrentRegion.Value

        Set oDict = CreateObject("Scripting.Dictionary")
        oDict.CompareMode = vbTextCompare

        For i = 2 To UBound(a)
            temp = Application.Trim(a(i, 1))
            oDict.Item(temp) = _
            a(i, 2) & "|" & _
            a(i, 3) & "|" & _
            a(i, 4) & "|" & _
            a(i, 5) & "|" & _
            a(i, 6)
        Next

        For Each b In [a1].CurrentRegion.Columns(1).Cells
            If oDict.exists(b.Value) Then
                    For i = 1 To 5
                        Set x = b.Offset(, i)
                        y = Split(oDict.Item(b.Value), "|")(i - 1)
                        Select Case True
                        Case x.Value > Val(y): x.Interior.ColorIndex = 3
                        Case x.Value < Val(y): x.Interior.ColorIndex = 43
                        End Select
                    Next
            End If
        Next

        .ScreenUpdating = True
    End With
End Sub
temp = Application.Trim(a(i, 1)) - может быть и лишняя предосторожность, можно вместо temp сразу a(i, 1) писать, но пусть будет.
Вложения
Тип файла: zip Пример.zip (17.1 Кб, 22 просмотров)
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 11.09.2011 в 16:20.
Hugo121 вне форума Ответить с цитированием
Старый 11.09.2011, 18:51   #5
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Ну почему же не подойдет, вполне можно...
Да, был неправ, возьму себе на заметку.
Хотя...крайне редко применяю УФ и только на небольших объемах данных.
Потому как
Цитата:
если 2000+ строк и 25 столбцов, то УФ будет напрягать.
напрягает! Проверено!
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 13.09.2011, 10:09   #6
ZlodeiDen
Пользователь
 
Регистрация: 14.04.2011
Сообщений: 25
По умолчанию

Всем огромное Спасибо !
ZlodeiDen вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск по БД DJ DIMON PHP 6 31.03.2011 17:02
Окраска столбцов диаграммы In4es Microsoft Office Excel 0 26.03.2011 21:50
окраска кнопок соответственно данным из БД Марк Охман БД в Delphi 2 02.01.2011 14:05
Окраска ячейки в зависимости от значения Апчхи Microsoft Office Excel 6 16.08.2009 19:31
Поиск StartMis Общие вопросы Delphi 5 26.08.2008 13:48