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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2010, 09:20   #1
Leha33
Новичок
Джуниор
 
Регистрация: 17.12.2010
Сообщений: 2
По умолчанию Из двух столбцов(А,В) в столбец (С)

Доброго времени суток господа программисты. Помогите пожалуйста чайнику. Имеется книга Excel, в ней два столбца, в первом номер накладной, во втором номер оплаченной накладной. Нужно выбрать из первого столбца не оплаченные накладные и скопировать в третий столбец. Как это можно реализовать (если возможно формулу или код макроса). Заранее благодарен.
Leha33 вне форума Ответить с цитированием
Старый 17.12.2010, 09:51   #2
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

можно так, в столбце С2 пишите формулу:
=ЕСЛИ(B2>0;"оплачено";A2)
Растягиваете до необходимого количества строк.
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 17.12.2010, 10:41   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Можно выполнить такой макрос:
Код:
Sub Main()
    Dim x As Range, i As Long, j As Long, a(), b(): Application.ScreenUpdating = False
    a = Range([A1], Cells(Rows.Count, 1).End(xlUp)).Value
    ReDim b(1 To UBound(a, 1), 1 To 1): j = 1
    For i = 1 To UBound(a, 1)
        Set x = [B:B].Find(what:=a(i, 1), LookAt:=xlWhole)
        If x Is Nothing Then
            b(j, 1) = a(i, 1): j = j + 1
    End If: Next: [C1].Resize(UBound(b, 1), 1).Value = b
End Sub
Пример во вложении. Откройте файл. Запустите макрос "Main".
Вложения
Тип файла: rar Книга1.rar (6.9 Кб, 19 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 17.12.2010, 10:53   #4
Leha33
Новичок
Джуниор
 
Регистрация: 17.12.2010
Сообщений: 2
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Можно выполнить такой макрос:
Код:
Sub Main()
    Dim x As Range, i As Long, j As Long, a(), b(): Application.ScreenUpdating = False
    a = Range([A1], Cells(Rows.Count, 1).End(xlUp)).Value
    ReDim b(1 To UBound(a, 1), 1 To 1): j = 1
    For i = 1 To UBound(a, 1)
        Set x = [B:B].Find(what:=a(i, 1), LookAt:=xlWhole)
        If x Is Nothing Then
            b(j, 1) = a(i, 1): j = j + 1
    End If: Next: [C1].Resize(UBound(b, 1), 1).Value = b
End Sub
Пример во вложении. Откройте файл. Запустите макрос "Main".
Спасибо огромное, то что надо.
Leha33 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение двух столбцов в разных книгах LAnLorD Microsoft Office Excel 132 17.05.2022 08:16
Дан двухмерный массив из 20 столбцов. Вставить в него столбец из чисел 10 после всех четных столбцов. Дмитрий142 Помощь студентам 9 07.06.2012 19:32
Подсчёт из двух столбцов по условию oleg_sh Microsoft Office Excel 2 28.04.2010 18:49
Как перенести данные столбцов в один столбец? CaustiC Microsoft Office Excel 4 04.03.2009 11:11
Прибавление данніх из двух столбцов gavrylyuk Microsoft Office Excel 3 01.08.2008 11:40