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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2012, 16:56   #1
mankurt777
Новичок
Джуниор
 
Регистрация: 02.11.2012
Сообщений: 2
По умолчанию экспорт значений из таблицы по определенным параметрам - как?

Здравствуйте! Помогите разобраться в коде функций, пожалуйста.

Жизнь заставила поломать голову над Excel. Собственно, есть две таблицы (см. файл вложения). Первая - с исходными данными, в ней паре наименований вида ПОГС 1002 - ПОГС 1005 соответствует ряд значений, которые необходимо экспортировать во вторую таблицу справа, например столбец 4. Порядок наименований в правой таблице не совпадает с левой, то есть надо делать поиск по наименованию.
Написал функцию TABLE1 в VBA менеджере, с ее помощью удалось экспортнуть все ячейки, наименования которых полностью совпадают. Но если наименованию ПОГС 1002 - ПОГС 1005 в левой таблице соответствует наименование ПОГС 1005 - ПОГС 1002 (наоборот), то функция возвращает значение 0.
В этом случае мне необходимо значения из столбца 4 экспортировать с обратным знаком (умножить на -1). По аналогии сваял функцию TABLE2, но она не работает. В чем ее косяк, что сделал неправильно?

Спасибо заранее.
Вложения
Тип файла: zip векторы функция.zip (27.9 Кб, 8 просмотров)
Тип файла: txt функция.txt (1.0 Кб, 125 просмотров)
mankurt777 вне форума Ответить с цитированием
Старый 02.11.2012, 17:38   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Можно например так

Код:
Function TABLE1(Table As Range, SearchColumnNum1 As Integer, SearchValue1 As Variant, SearchColumnNum2 As Integer, SearchValue2 As Variant, SearchColumnNum3 As Integer)
    Dim i As Integer
    For i = 1 To Table.Rows.Count
              If Table.Cells(i, SearchColumnNum1).Text = SearchValue1.Text Then
                If Table.Cells(i, SearchColumnNum2).Text = SearchValue2.Text Then
                TABLE1 = Table.Cells(i, SearchColumnNum3)
                Exit Function
                End If
              End If
        Next i
        
          For i = 1 To Table.Rows.Count
              If Table.Cells(i, SearchColumnNum1).Text = SearchValue2.Text Then
                If Table.Cells(i, SearchColumnNum2).Text = SearchValue1.Text Then
                TABLE1 = (Table.Cells(i, SearchColumnNum3))
                Exit Function
                End If
              End If
        Next i
        
End Function
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 03.11.2012 в 00:04.
doober вне форума Ответить с цитированием
Старый 06.11.2012, 10:32   #3
mankurt777
Новичок
Джуниор
 
Регистрация: 02.11.2012
Сообщений: 2
По умолчанию

спасибо за ответ. А вы попробовали эту функцию, работает она для этого файла? А то у меня некоторые значения все равно нулевые получаются.
mankurt777 вне форума Ответить с цитированием
Старый 06.11.2012, 16:03   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Пробовал,есть пару 0,но и данных для этих условий нет
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка значений по двум параметрам bvkdrv Microsoft Office Excel 11 06.02.2011 21:35
отбор уникальных значений по определенным условиям Alex___ Microsoft Office Excel 39 12.10.2009 17:02
Фильтр таблицы по нескольким параметрам MarinaB Помощь студентам 1 28.08.2009 08:17
Выбор из таблицы по двум параметрам и построение таблице на основе выборки WildKosha Microsoft Office Excel 2 08.08.2009 01:53
Вызов из таблицы значения по 2 параметрам risen Microsoft Office Excel 2 15.04.2008 22:58