2014-01-02 2 views
0

У меня возникла какая-то проблема в куске кода. Мне нужно найти значения в книге Excel, а затем скопировать ее в другую. Дело в том, что мне нужно скопировать концепцию по понятию в нужном месте. Проблема в том, что файл не приходит каждую неделю в том же порядке. Поэтому мне нужно найти концепцию, а затем скопировать следующую ячейку, которая является значением этой концепции. Прежде всего, мне нужно найти правильную линию, чтобы я мог начать копирование (эта часть проста и выполнена). Во-вторых, имея правильную строку, мне нужно найти концепцию, которая в этом примере будет использовать «619». После определения местоположения этого значения я сохраняю значение в «c_audiovisual».VBA Excel + с использованием функции соответствия

On Error GoTo ErrhandlerCAV 
     lRowC_AV = Application.WorksheetFunction.Match(619, Range("A" & line & ":FI" & line), 0) + 1 

     'On Error GoTo ErrhandlerCAV 
Continue: 
     If errorCAV = 1 Then 
       c_audiovisual = 0 
       errorCAV = 0 
     Else 
       c_audiovisual = ActiveSheet.Cells(line+ m2, lRowC_AV).Value 
     End If 

Я сделал побег в случае, если эта концепция отсутствует в этой строке (что иногда происходит).

Иногда этот фрагмент кода работает, а другой - нет. Когда я нахожусь в режиме отладки (нажав F8), он работает. И когда я использую небольшие файлы для поиска значений, которые он использует. Иногда в больших файлах нет.

Любые идеи?

+0

Я бы сказал, что запустил большой файл и поставил точку прерывания в ловушку ошибок, а затем просмотрел данные, с которыми он сталкивается. Скорее всего, есть некоторые сценарии данных, которые вы не учитывали. –

+1

В целом есть много догадок, связанных с попыткой понять проблемы, опубликованные здесь, что я думаю, что наиболее вероятные респонденты обратятся к другому Q, а не к борьбе с неточным. т.е. «у меня какая-то проблема», слишком расплывчато. – pnuts

+0

Какова ценность m2 (которую вы добавляете к стоимости строки)? Является ли это переменной, определенной где-то, или она должна читать 'line + 2'? Возможно, вам нужно предоставить нам немного больше контекста. –

ответ

0

Я столкнулся с аналогичными проблемами. Я исправил его с помощью этой книги. Таблицы («MySheet»). Диапазон (...) внутри функции Match. Или попробуйте ActiveWorkbook, если применимо. Дайте мне знать, если это сработает. Любопытно узнать.

Btw Я заметил, что столбец и номер строки оба являются «строками». Это ошибка?

Смежные вопросы