Я пытаюсь добавить всю строку, которая соответствует критериям выделения для массива, но я изо всех сил пытался заставить ее работать.Как я могу добавить это в массив?
Код проходит через несколько идентификаторов и выделяет их красным цветом, исходя из предварительных условий. Я хотел бы добавить всю строку в массив для всех строк, удовлетворяющих критериям предварительного условия.
Sub SWAPS101()
'red color
' If "Security Type" = SW
' If "New Position Ind" = N
' If "Prior Price" = 100
' If "Current Price" does not equal 100
Dim rng As Range, lCount As Long, LastRow As Long
Dim cell As Object
'Sheets("Output").Activate
With ActiveSheet
LastRow = .Cells(Rows.Count, 1).End(xlUp).Row
For Each cell In .Range("E2:E" & LastRow) 'new position
If cell = "N" And cell.Offset(, 16) = "SW" And cell.Offset(, 5) = 100 _
And cell.Offset(, 4) <> 100 Then
With cell.EntireRow.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 6382079
.TintAndShade = 0
.PatternTintAndShade = 0
End With
' LastRow = Range("b65000").End(xlUp).Row
' For r = 2 To LastRow
Row = Row + 1
TempArray(Row, 1) = Cells(r, cell))
Next r
End If
Next cell
End With
End Sub
Вы рассматривали фильтрацию vbRed и добавление видимых клеток ? – Jeeped
вам нужно установить размер массива в начале или сделать «ReDim Preserve», чтобы добавить каждый элемент, соответствующий этому условию. Кроме того, действительно ли вы хотите добавить * Entire Row * или только ячейки в строке с данными? –
@ScottHoltzman - [ReDim statement] (https://msdn.microsoft.com/en-us/library/w8k3cys2.aspx) с Preserve - это путь, но OP должен будет смотреть, что ** Rank ** он расширяется. Строка по строкам обычно означает, что строки находятся в первом ранге, а столбцы - во втором. Вы можете расширить только второй уровень с помощью Preserve; не первый (только расширяйте * последний * ранг). 'Application.Transpose' может помочь, но может также столкнуться с ограничениями ([VBA Excel" ошибка 13: тип несоответствия "] (http://stackoverflow.com/questions/31400105/vba-excel-error13-type-mismatch)). – Jeeped