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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2012, 16:06   #1
Alvia
Новичок
Джуниор
 
Регистрация: 05.04.2012
Сообщений: 2
По умолчанию Как настроить соответствие столбцов с одного листа, столбцам из другого.

Добрый день!
Помогите пожалуйста в следующем вопросе:
На лист1 есть таблица с номерами телефонов и временем разговора. На лист2 есть номера телефонов и их владельцы. Можно ли как то автоматически настроить поиск соответствия телефона владельцу и чтобы на первом листе добавлялся столбец владельца телефона ( а если бы еще и форматирование разноцветное сохранялось, то вообще бы была песня!)
Вложения
Тип файла: zip Phone.zip (4.5 Кб, 12 просмотров)
Alvia вне форума Ответить с цитированием
Старый 05.04.2012, 18:27   #2
mc-black
Пользователь
 
Аватар для mc-black
 
Регистрация: 03.06.2009
Сообщений: 26
По умолчанию

Мой вариант решения:
Код:
Option Explicit

Sub DoIt()
    Dim i As Long, j As Long, n As Long, t As String
    Dim src As Worksheet, dst As Worksheet, srcArr()
    
    Set dst = ThisWorkbook.Worksheets(1)
    Set src = ThisWorkbook.Worksheets(2)
    
    j = 3
    Do While Not src.Cells(j, 1).Value = Empty
        j = j + 1
    Loop
    srcArr = src.Range(src.Cells(3, 1), src.Cells(j - 1, 2)).Value
    n = UBound(srcArr, 1)
    
    i = 3
    Do While Not dst.Cells(i, 3).Value = Empty
        t = CStr(dst.Cells(i, 2).Value)
        j = 1
        Do While j <= n
            If CStr(srcArr(j, 1)) = CStr(t) Then
                dst.Cells(i, 4).Value = srcArr(j, 2)
                dst.Cells(i, 4).Interior.Color = src.Cells(j + 2, 2).Interior.Color
                Exit Do
            End If
            j = j + 1
        Loop
        i = i + 1
    Loop
    
    Set dst = Nothing
    Set src = Nothing
End Sub
Вложения
Тип файла: zip phone-a.zip (10.8 Кб, 15 просмотров)
mc-black вне форума Ответить с цитированием
Старый 05.04.2012, 22:13   #3
Alvia
Новичок
Джуниор
 
Регистрация: 05.04.2012
Сообщений: 2
По умолчанию

Спасибо! То что нужно, очень помогли.
Alvia вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ссылка ячеек одного листа на ячейки другого листа n0str0m0 Microsoft Office Excel 10 31.12.2011 12:11
Как ComboBox на UserForm заполнить данными с другого листа ? Snekich Microsoft Office Excel 2 08.12.2011 18:37
значение ячейки как имя другого листа akd2009 Microsoft Office Excel 3 16.11.2011 10:23
Как удалить всё от одного комментария до другого Даниил_глазко JavaScript, Ajax 3 28.06.2011 07:49
Проверка столбцов на соответствие ZSV Microsoft Office Excel 22 22.09.2010 18:32