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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2013, 16:26   #1
Grizli177
 
Регистрация: 23.01.2013
Сообщений: 3
По умолчанию извлечение остатка по модельно из одного прайса и добавление в другой

Добрый день!
Суть проблемы:
Есть два файла (возможно будет больше), один это прайс, второй это остаток на складе.
Необходимо, чтобы искался артикул поставщика (первая колонка в прайсе) в ячейках с названием модели и извлекал кол-во.
Grizli177 вне форума Ответить с цитированием
Старый 23.01.2013, 16:43   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Формула =ВПР() вам поможет
http://www.planetaexcel.ru/techniques/2/106/
EducatedFool вне форума Ответить с цитированием
Старый 23.01.2013, 16:49   #3
Grizli177
 
Регистрация: 23.01.2013
Сообщений: 3
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Формула =ВПР() вам поможет
http://www.planetaexcel.ru/techniques/2/106/
Формула ВПР ищет точное соответствие, а у меня все сложнее
например:
артикул в прайсе
9666399-06

а эта позичия в остатках
Бензопила Husqvarna 236 X-TORQ 9666399-06 (+ доп. цепь)
Grizli177 вне форума Ответить с цитированием
Старый 23.01.2013, 18:10   #4
Grizli177
 
Регистрация: 23.01.2013
Сообщений: 3
По умолчанию

нашел в сети программку- принцип подходящий, но отна ичет значение только одной ячейки, а мне необходимо значение для каждой ячеки в столбце B. Примерно 1000 позиций

Private Sub Worksheet_Change(ByVal Target As Range)
Dim firstAdress As String
Dim rng As Range
Dim i As Integer
Dim j As Integer

If Target.Address(False, False) = "B11" Then
Worksheets("Номер").Range("D11:D20" ) = ""
Worksheets("Номер").Range("F11:D20" ) = ""
For i = 2 To 5
If i = 5 Then
j = 11
Set rng = _
Worksheets(CStr(i)).Range("A3:A109" , "I3:I109"). _
Find(What:=CStr(Target.Value), _
LookIn:=xlValues, _
LookAt:=xlPart, _
MatchCase:=False)

If Not (rng Is Nothing) Then
firstAdress = rng.Address
Do
'rng.Interior.Color = RGB(255, 255, 0)
Worksheets("Номер").Range("F" & j) = rng.Offset(0, 4).Value
j = j + 1
Set rng = Worksheets(CStr(i)).Range("A3:A109" , "I3:I109"). _
FindNext(rng)
Loop While Not (rng Is Nothing) And rng.Address <> firstAdress
End If
Else
j = 11
Set rng = Worksheets(CStr(i)).Range("B2:B33") . _
Find(What:=CStr(Target.Value), _
LookIn:=xlValues, _
LookAt:=xlPart, _
MatchCase:=False)

If Not (rng Is Nothing) Then
firstAdress = rng.Address
Do
'rng.Interior.Color = RGB(255, 255, 0)
Worksheets("Номер").Range("D" & j) = rng.Offset(0, 9).Value
j = j + 1
Set rng = Worksheets(CStr(i)).Range("B2:B33") .FindNext(rng)
Loop While Not (rng Is Nothing) And rng.Address <> firstAdress
End If
End If
Next
End If
End Sub
Grizli177 вне форума Ответить с цитированием
Старый 25.01.2013, 07:36   #5
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

Grizli177, выложите книгу с примерными данными и поясните, что нужно сделать в выложенной книге.
Скрипт вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема при копировании одного столбца из одного файла в другой файл tanunya Помощь студентам 0 24.02.2012 21:30
Извлечение пиктограммы из файла и добавление ее в ImageList Don Karleone Общие вопросы Delphi 3 26.03.2011 23:22
зайти с одного windows на другой Arassir Windows 4 07.08.2010 01:19
DBGrid из одного в другой MSD БД в Delphi 3 28.04.2010 15:41
переход из одного типа в другой Лонли-Локли Общие вопросы Delphi 8 27.08.2009 12:39