我试过做'下一个细胞',但没有骰子。我试图从G2开始向下列,并将结果转储到另一个工作表中。
For Each cell In Range("G2").End(xlDown)
If cell.Value = "New York" Then
ActiveCell.Offset(0, -2).Select
ReDim partnerArray(0 To i)
partnerArray(i) = ActiveCell.Offset(0, -2).Value
Next
ActiveWorkbook.Worksheets ("By Resource Level")
Range("A1").Value = partnerArray
答案 0 :(得分:1)
结束(xlDown)转到范围中的最后一个单元格,就好像您单击ctrl down
一样,因此您只需在代码中选择一个值。
关于partnerArray给出不匹配错误,这是因为您试图将一组数据放入一个单元格而不是指定下标,即partnerArray(0)
如果您想要所有结果,则需要遍历数组并将每个结果输入到不同的单元格。我很快就会向您展示一个代码示例
编辑:
For Each cell In Range("G2:G10").Cells
If cell.Value = "New York" Then
ReDim Preserve partnerArray(i)
cell.Select
partnerArray(i) = ActiveCell.Offset(0, -2).Value
i = i + 1
End If
Next
On Error Resume Next
For i = LBound(partnerArray) To UBound(partnerArray)
ActiveWorkbook.Worksheets("By Resource Level").Cells(i + 1, 1).Value = partnerArray(i)
Next i
答案 1 :(得分:0)
编译器有时会显示不是错误真正来源的错误消息。在这种情况下,您没有关闭If语句:
For Each cell In Range("G2").End(xlDown)
If cell.Value = "New York" Then
ActiveCell.Offset(0, -2).Select
ReDim partnerArray(0 To i)
partnerArray(i) = ActiveCell.Offset(0, -2).Value
Endif
Next
ActiveWorkbook.Worksheets ("By Resource Level")
Range("A1").Value = partnerArray
答案 2 :(得分:0)
您在End If
Next