Так что я очень плохо знаком с VBA, но мне нужно закончить проект, который требует сортировки некоторых данных.У меня есть два листа.На одном листе (называемом «значениями») есть один столбец значений, который мне нужно проверить, соответствует ли значение хотя бы одному из 5 столбцов записи (строки) на другом очень большом листе («sheet1»), и скопируйтевся запись (строка) для второй электронной таблицы ('sheet2).
Это мой псевдокод:
for each row in sheet1 where sheet1.row = A1:Q1231231
for each value in values where values.value = b1:b300
for each col (e1:j1) where sheet1.col = E-rownum : J-rownum
if value == col-value
copy row to sheet2
break, esc value
Next row
И это то, что у меня есть, но я немногоЗастрял ли я ссылки все правильно.Как мне просто получить столбцы E: J для каждой строки, когда мне нужно сопоставить значения только с этими ячейками?Как мне скопировать всю строку, если есть совпадение, и сразу же разбить и перейти к следующей записи?
Private Sub CommandButton1_Click()
Dim sheetrow As Range
Dim Values As Range
Dim cells As Range
Set Sheet1 = Worksheets("Sheet1")
Set Values = Worksheets("values").Rows("B2:B330")
Set Sheet2 = Worksheets("Sheet2")
For Each sheetrow In Sheet1.Rows
For Each value In Values
For Each cell In sheetrow.cells // only need cell cols E:J
//if value == cell
// copy row to sheet2
//break (no need to check the rest of the row if match)
Next
Next
Next
End Sub
Просто чтобы сообщить, что это не для назначения VBA.Это просто очень большой объем данных, и скрипт будет работать лучше, чем пытаться вручную пройти через него.Большое вам спасибо!