Изменить макрос , что бы он искал определенное значение в таблице - VB

Узнай цену своей работы

Формулировка задачи:

Всем здравствуйте "!
Все данные конфиденциальны , не могу приложить при мер. Сразу к делу...
Есть макрос , который поочередно открывает файлы excl из указанной папки , берет из них информацию (Set ra = Range("B2")) и записывает к себе на лист.
Вот часть макроса :
Листинг программы
  1. ' перебираем все найденные в папке файлы
  2. For Each Filename In coll
  3.  
  4. ' обновляем информацию на прогресс-баре
  5. pi.SubAction "Обрабатывается файл $index из $count", "Файл: " & Dir(Filename), "$time"
  6. pi.Log "Файл: " & Dir(Filename)
  7.  
  8. ' открываем очередной файл в режиме «только чтение»
  9. Set WB = Nothing: Set WB = Workbooks.Open(Filename, False, True)
  10.  
  11. If WB Is Nothing Then ' не удалось открыть файл
  12. pi.Log vbTab & "ОШИБКА при загрузке файла. Файл не обработан."
  13.  
  14. Else ' файл успешно открыт
  15. Set sh = WB.Worksheets(1) ' будем брать данные с первого листа
  16. ' берем ячейку B2
  17. Set ra = Range("B2")
  18.  
  19. ' ==== переносим данные в наш файл (shd - кодовое имя листа, куда помещаем данные)
  20. shd.Range("a" & shd.Rows.Count).End(xlUp).Offset(1).Resize(ra.Rows.Count, ra.Columns.Count).Value = ra.Value
  21. ' ==== конец обработки данных из очередного файла
  22.  
  23. WB.Close False: DoEvents ' закрываем обработанный файл без сохранения изменений
  24. pi.Log vbTab & "Файл успешно обработан."
  25.  
  26. End If
  27. Next
  28.  
  29. ' закрываем прогресс-бар, включаем обновление экрана
  30. pi.Hide: DoEvents: Application.ScreenUpdating = True
  31. MsgBox "Обработка заявок завершена", vbInformation
  32. End Sub
  33.  
  34. Sub ClearTable()
  35. On Error Resume Next: shd.UsedRange.Offset(2).ClearContents
  36. End Sub


Вопрос.
В файлах, в столбце А есть примерно 120 строк.
Как сделать , что бы он сначала находил слово ( ШТРИХКОРД ) - в столбце А , затем копировал ячейку из столбца С ( напротив где нашел слово штрихкод ) !

Решение задачи: «Изменить макрос , что бы он искал определенное значение в таблице»

textual
Листинг программы
  1. for i =1 to 2000
  2.  
  3. if sh.cells(i,1) = "ШТРИХКОРД" then
  4. y = y+1
  5. shd.cells(y,1) = sh.cells(i,3).value
  6. end if
  7.  
  8. next

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы