In the attached I am copying a range into a variable sized (both # of Records and # of Columns) array. The one common thing with all my possible source ranges in that the 2nd column always contains a Boolean to show if that row/record is to be used in the current pass.

What I would like to do is delete the entire row from the array where that boolean is FALSE. - I figure I need to loop through all columns in the array for that row and deleted the record, but the delete is not working. Is there a better way to do this?

PS: Looping through the Range and determining which rows to add is not going to work, its way too slow.

VB Code:
  1. Sub array_row_delete()
  2.     Dim MyArray() As Variant
  3.     Dim x As Integer, y As Integer
  4.     Dim MyRange As Range
  5.    
  6.     Set MyRange = Range("LOB")
  7.    
  8.     MyArray = MyRange
  9.    
  10.     For x = UBound(MyArray) To 1 Step -1
  11.         If Not MyArray(x, 2) Then
  12.             For y = 1 To MyRange.Columns.Count
  13.                 'MyArray(x, y).Delete -- this is the piece that does not work
  14.             Next y
  15.         End If
  16.     Next x
  17. End Sub