Arrays 搜索数组中的值并返回该行/列中的值

Arrays 搜索数组中的值并返回该行/列中的值,arrays,excel,vba,Arrays,Excel,Vba,我在vba非常基础,所以不幸的是,对于如何进行这种类型的搜索和相关调用,我没有很多想法 我有一个如下的数组,数组中的每个单元格都有一个从0到100的数字 我想创建一个表,其中对于80以上数据集中的每个值,我都从单元格的列和行返回标题。因此,在第一次迭代时,该表将如下所示: 表格示例 a 80b c85f e 92g 阵列 abcdefghij a b c d e f g h 我 j 我想我说得很具体,但我真的不知道从哪里开始。提前感谢您的帮助。类似的内容将帮助您开始: Sub Captur

我在vba非常基础,所以不幸的是,对于如何进行这种类型的搜索和相关调用,我没有很多想法

我有一个如下的数组,数组中的每个单元格都有一个从0到100的数字 我想创建一个表,其中对于80以上数据集中的每个值,我都从单元格的列和行返回标题。因此,在第一次迭代时,该表将如下所示: 表格示例 a 80b c85f e 92g 阵列 abcdefghij a b c d e f g h 我 j


我想我说得很具体,但我真的不知道从哪里开始。提前感谢您的帮助。

类似的内容将帮助您开始:

Sub CaptureCellsAboveValue(val as double, srcRange as Range, destRange as Range)
    Dim srcRrow as long, srcCol as Long, destRow as Long: destRow = 1
    For srcRow = 2 to srcRange.Rows.Count
        For srcCol = 2 to srcRange.Columns.Count
            If srcRange.Cells(srcRow, srcCol).Value > val Then
                destRange.Cells(destRow, 1).Value = _
                    srcRange.Cells(srcRow, 1).Value & " " & _
                    srcRange.Cells(srcRow, srcCol).Value  & " " & _
                    srcRange.Cells(1, srcCol).Value
                destRow = destRow + 1
            End If
        Next
    Next
End Sub
您可以将其与以下参数一起使用:

  • 值:在您的示例中为80

  • srcRange:表格范围,包括标题行和标题列

  • destRange:要输出这些结果的范围的顶部单元格


    • 感谢上面的提示,很抱歉这是一个糟糕的问题格式

      在一位朋友的帮助下,我终于想出了这个答案,这正是问题所需要的。我现在正在学习如何动态定义源范围

      Sub maketable()
      Dim rng As Range, i As Single, j As Single
      Dim outrow As Single
      Set rng = Sheets("Heatmap+").Range("F6:HR226")
      
      outrow = 2
      
      For i = 1 To 221
      For j = 1 To 221
          If rng(i, j).Value >= 80 Then
      
              Sheets("Table").Cells(outrow, 1).Value = rng(i, j).Value
              Sheets("Table").Cells(outrow, 2).Value = Sheets("Heatmap+").Cells(1, j + 1).Value
              Sheets("Table").Cells(outrow, 3).Value = Sheets("Heatmap+").Cells(i + 1, 1).Value
      
      
      
              outrow = outrow + 1
          End If
      Next j
      Next i
      
      希望这能帮助人们从大型阵列中寻找这种输出


      --作为学习的一部分,我正在努力使前面的答案起作用,所以谢谢你

      这对于SO的格式来说太宽泛了;“特定”的意思是——你需要研究从哪里开始,尝试一些事情,遇到其他人也可能遇到的特定问题,并询问这个特定问题。否则会是“我需要XYZ,我该怎么做?”,而且不会有它的一半有用。@Mat'smugh你完全正确,我感到有点抱歉,伙计。我一开始试图给出一个“开始提示”,但最终得到了一个完整的解决方案:D