我有以下数据存储从搜索功能中找到的值。
If FoundCells Is Nothing Then
Debug.Print "Value Not Found"
Else
For Each FoundCell In FoundCells
Array1(i) = FoundCell.Value 'Instead of .Value I can use .Row but .EntireRow doesn't work
i = i + 1
Next FoundCell
j = i - 1
i = 1
End If
然后我使用transpose从数组中提取数据,该转置适用于' .Value'和' .Row'但是我无法通过' .EntireRow'从每个找到的值中提取整行。
Range("A1:A" & UBound(Array1) + 1) = WorksheetFunction.Transpose(Array1)
我试图以多种方式改变范围,但似乎没有任何东西符合.EntireRow标准。
在loannis评论后更新:
如何根据存储在FoundCell中的搜索结果,在我的数组中使用EntireRow将所有行转置到目标位置?
我正在使用cpearson http://www.cpearson.com/excel/findall.aspx
中的FindAll搜索功能答案 0 :(得分:0)
你可以像这样提取整行,但它是一个二维数组。
Sub MethodName()
Dim Array1
'Get all the cell values in row A
Array1 = Cells(1, 1).EntireRow
Dim i As Integer
'loop through the array and output the contents to the 2nd row
For i = 1 To UBound(Array1, 2)
Cells(2, i).Value = Array1(1, i)
Next i
End Sub
答案 1 :(得分:0)
我得出的结论是,为了达到这个目的,我不妨废弃数组并按照这样做:
If FoundCells Is Nothing Then
Debug.Print "Value Not Found"
Else
For Each FoundCell In FoundCells
FoundCell.EntireRow.Copy Worksheets("Sheet3").Range("A" & Rows.Count).End(xlUp).Offset(1)
Next FoundCell
End If