![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 23.01.2013
Сообщений: 3
|
![]()
Добрый день!
Суть проблемы: Есть два файла (возможно будет больше), один это прайс, второй это остаток на складе. Необходимо, чтобы искался артикул поставщика (первая колонка в прайсе) в ячейках с названием модели и извлекал кол-во. |
![]() |
![]() |
![]() |
#2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Формула =ВПР() вам поможет
http://www.planetaexcel.ru/techniques/2/106/ |
![]() |
![]() |
![]() |
#3 | |
Регистрация: 23.01.2013
Сообщений: 3
|
![]() Цитата:
например: артикул в прайсе 9666399-06 а эта позичия в остатках Бензопила Husqvarna 236 X-TORQ 9666399-06 (+ доп. цепь) |
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 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 |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
![]()
Grizli177, выложите книгу с примерными данными и поясните, что нужно сделать в выложенной книге.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
проблема при копировании одного столбца из одного файла в другой файл | 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 |