Изменить макрос , что бы он искал определенное значение в таблице - VB
Формулировка задачи:
Всем здравствуйте "!
Все данные конфиденциальны , не могу приложить при мер. Сразу к делу...
Есть макрос , который поочередно открывает файлы excl из указанной папки , берет из них информацию (Set ra = Range("B2")) и записывает к себе на лист.
Вот часть макроса :
Вопрос.
В файлах, в столбце А есть примерно 120 строк.
Как сделать , что бы он сначала находил слово ( ШТРИХКОРД ) - в столбце А , затем копировал ячейку из столбца С ( напротив где нашел слово штрихкод ) !
Все данные конфиденциальны , не могу приложить при мер. Сразу к делу...
Есть макрос , который поочередно открывает файлы excl из указанной папки , берет из них информацию (Set ra = Range("B2")) и записывает к себе на лист.
Вот часть макроса :
Листинг программы
- ' перебираем все найденные в папке файлы
- For Each Filename In coll
- ' обновляем информацию на прогресс-баре
- pi.SubAction "Обрабатывается файл $index из $count", "Файл: " & Dir(Filename), "$time"
- pi.Log "Файл: " & Dir(Filename)
- ' открываем очередной файл в режиме «только чтение»
- Set WB = Nothing: Set WB = Workbooks.Open(Filename, False, True)
- If WB Is Nothing Then ' не удалось открыть файл
- pi.Log vbTab & "ОШИБКА при загрузке файла. Файл не обработан."
- Else ' файл успешно открыт
- Set sh = WB.Worksheets(1) ' будем брать данные с первого листа
- ' берем ячейку B2
- Set ra = Range("B2")
- ' ==== переносим данные в наш файл (shd - кодовое имя листа, куда помещаем данные)
- shd.Range("a" & shd.Rows.Count).End(xlUp).Offset(1).Resize(ra.Rows.Count, ra.Columns.Count).Value = ra.Value
- ' ==== конец обработки данных из очередного файла
- WB.Close False: DoEvents ' закрываем обработанный файл без сохранения изменений
- pi.Log vbTab & "Файл успешно обработан."
- End If
- Next
- ' закрываем прогресс-бар, включаем обновление экрана
- pi.Hide: DoEvents: Application.ScreenUpdating = True
- MsgBox "Обработка заявок завершена", vbInformation
- End Sub
- Sub ClearTable()
- On Error Resume Next: shd.UsedRange.Offset(2).ClearContents
- End Sub
Вопрос.
В файлах, в столбце А есть примерно 120 строк.
Как сделать , что бы он сначала находил слово ( ШТРИХКОРД ) - в столбце А , затем копировал ячейку из столбца С ( напротив где нашел слово штрихкод ) !
Решение задачи: «Изменить макрос , что бы он искал определенное значение в таблице»
textual
Листинг программы
- for i =1 to 2000
- if sh.cells(i,1) = "ШТРИХКОРД" then
- y = y+1
- shd.cells(y,1) = sh.cells(i,3).value
- end if
- next
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д