Я хочу создать мини отчет о нескольких элементах, соответствующих ключу. В моем цикле я возвращаю ключи, но не могу понять, как мне получить доступ к нужным мне данным в отчете, который содержится в других столбцах.
Я вставил несколько сообщений msgbox, чтобы перехватить данные, и механизм выхода, чтобы выйти из цикла. Это я прокомментировал ниже, а также строки данных, которые не работают. «cbdata» - это рабочая книга с именем B5: T4019. Отчет составляется на другом листе (activesheet). По какой-то неизвестной причине при циклическом обходе без вывода каких-либо данных «r» обновляется до некоторых ложных чисел, таких как 2421 (первый цикл), это как-то связано с данными в «cbdata». Первая запись фактически находится в строке 2388, поэтому она не соответствует индексируемой строке в диапазоне. Тем не менее, я думаю, прежде всего, мне нужно выяснить, что я могу сделать, чтобы получить соответствующий ряд, возвращаемый для каждого из моих проходов. «ky» возвращает все записи в столбцах (19), но меня интересуют только те, которые соответствуют «ledcdeyr», в данном случае это «2012017», этот бит работает, возвращая все записи, соответствующие в цикле.
Получив согласующуюся ключевую информацию, как я могу связать это с номером строки, чтобы можно было извлечь другие данные из этой строки.
(cr is vbcrlf) (r должен быть номером строки получающего отчета)
Любые указатели будут с благодарностью.
Code:
r = r + 1 ' row 38 when entering process
For Each ky In Range("cbdata").Columns(19).Cells
'ans = MsgBox(ky & cr & r, vbOKCancel)
'If ans = vbCancel Then Exit Sub
If ky = ledcdeyr Then
ans = MsgBox(ky & cr & r, vbOKCancel)
If ans = vbCancel Then Exit Sub
Cells(r, 2) = Range("cbdata").Cells(ky, 1)
'Cells(r, 3) = Range("cbdata").Columns(2).Cells
'Cells(r, 4) = Range("cbdata").Columns(3).Cells
'Cells(r, 5) = Range("cbdata").Columns(4).Cells
'Cells(r, 6) = Range("cbdata").Columns(5).Cells
ans = MsgBox(r, vbOKCancel + vbQuestion, title)
If ans = vbCancel Then Exit Sub
End If
r = r + 1
Next