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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2009, 10:34   #1
hunter05
 
Регистрация: 04.04.2009
Сообщений: 8
По умолчанию Помогите справиться с задачей

Подскажите пожалуйста как реализовать следующую задачу:
Есть два xls файла A и B. Нужно чтоб значения столбца Е файла А были найдены в столбце А файла В. И если такие значения найдены то нужно значение столбца В файла А скопировать в ячейку Н файла В и выделить красным цветом.Для наглядности отправляю файлы А и В.
hunter05 вне форума Ответить с цитированием
Старый 24.12.2009, 10:41   #2
hunter05
 
Регистрация: 04.04.2009
Сообщений: 8
По умолчанию

вот эти файлы
Вложения
Тип файла: rar ФайлыАиВ.rar (4.5 Кб, 13 просмотров)
hunter05 вне форума Ответить с цитированием
Старый 24.12.2009, 14:53   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Путь к файлу А ,лист укажете в макросе
Вложения
Тип файла: rar В.rar (54.4 Кб, 12 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 24.12.2009, 15:35   #4
hunter05
 
Регистрация: 04.04.2009
Сообщений: 8
По умолчанию

Не могу скачать архив B.rar просит лигин и пароль тот под которым зашел не принимает.
hunter05 вне форума Ответить с цитированием
Старый 24.12.2009, 15:51   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Код:



Sub Поиск()

Dim d As Worksheet
Dim rb, re As Range
 Application.ScreenUpdating = False
Dim path As String
path = "c:\А.xls"  'Введите свой путь к файлу
Set d = GetObject(path).Sheets(1) 'Здесь задан первый лист

Dim count, adr As Long
Dim ge, be



count = d.Range("e" & Rows.count).End(xlUp).Row

    Set re = d.Range("e1:e" & count)
     Set rb = d.Range("b1:b" & count)
   
    Dim i As Long, P As Range
    For i = 1 To count
    
    ge = re(i, 1)
    be = rb(i, 1)
    
        Set P = [A:A].Find(ge)
        If Not P Is Nothing Then
        
        adr = P.Row
     Range("h" & adr) = be
        
         Range("h" & adr).Interior.ColorIndex = 6
          Range("h" & adr).Font.ColorIndex = 3
         
        End If
    Next
   
  d.Parent.Close (False)
   
    Application.ScreenUpdating = True
   
   
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Матрица.TurboPascal. Не могу справиться Анюта) Помощь студентам 5 05.12.2009 16:07
[Delphi] Помогите справиться с задачей по числякам (метод Рунге-Кутта) Unlit Помощь студентам 0 01.10.2009 09:51
Помогите справиться с java.lang.OutOfMemoryError: Java heap space Levilaulada Помощь студентам 1 17.05.2009 10:59
Просто, но справиться не могу. Небесный Общие вопросы Delphi 1 05.05.2008 11:32