需要我的vba代码只在特定列中搜索值

需要我的vba代码只在特定列中搜索值,vba,excel,Vba,Excel,我的问题是,不确定是否可以实现:(需要用vba实现) 我有一个范围,5组,每组3年(每组一列为2012年、2013年和2014年),这些列有等级。我需要在所有组别中找到最高分,但仅限于2013年。我知道如何找到更高的等级,但它会在所有列中搜索。 我可以找到这个等级,但只能在属于2013的列中搜索吗 此代码应该可以帮助您解决问题。这是一个相当通用的代码,可以满足您的要求。您可以通过制作一个UserForm并询问用户您希望标识的列标题来扩展此功能,而不仅仅是查找2013 Sub Dim la

我的问题是,不确定是否可以实现:(需要用vba实现) 我有一个范围,5组,每组3年(每组一列为2012年、2013年和2014年),这些列有等级。我需要在所有组别中找到最高分,但仅限于2013年。我知道如何找到更高的等级,但它会在所有列中搜索。 我可以找到这个等级,但只能在属于2013的列中搜索吗


此代码应该可以帮助您解决问题。这是一个相当通用的代码,可以满足您的要求。您可以通过制作一个UserForm并询问用户您希望标识的列标题来扩展此功能,而不仅仅是查找2013

Sub 
   Dim lastColumn As Long
   Dim max_value As Double

   max_value = 0

   lastColumn = Worksheets("Sheet1").Cells(1, Columns.Count).End(xlToLeft).Column
   For i = 1 To lastColumn
      ' Seek out the column you desire!
      If Worksheets("Sheet1").Cells(2,i).Value = "2013" Then

         Dim lastRow As Long
         lastRow = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row

         ' Go through the entire column of the desired type to read the values
         For j = 3 To lastRow
            If Worksheets("Sheet1").Cells(j, i).Value > max_val Then
               max_value = Worksheets("Sheet1").Cells(j, i).Value
            End If
         Next j
      End If
   Next
End Sub

您的数据是什么样子的?一个公式是不能接受的?您尝试了什么,请发布您当前的代码/公式。添加了我的数据的示例图像,它必须在vba上,这太糟糕了,因为我认为我可以为它修复公式:(至于我目前的代码,我真的很无知,不知道如何才能将搜索限制在同一年的列上。你也可以发布你的代码吗?非常感谢!!看起来这样行!我想我会修改它,使其与结果一起为单元格着色,但现在应该不会有太多问题了!