如何将MAX与.FIND一起使用?在VBA(Excel)中

如何将MAX与.FIND一起使用?在VBA(Excel)中,vba,excel,Vba,Excel,我已经在这个问题上工作了一段时间,似乎无法让它发挥作用。我有以下VBA代码,我想获得range1的最大调整值。我试着把MAX放在开头、结尾和我能想到的任何地方 这就是在没有MAX的情况下现在可以工作的: On Error Resume Next For Each ws In ActiveWorkbook.Worksheets If ws.Name <> "BHAInfo" And ws.Name <> "BHADetail" Then

我已经在这个问题上工作了一段时间,似乎无法让它发挥作用。我有以下VBA代码,我想获得range1的最大调整值。我试着把MAX放在开头、结尾和我能想到的任何地方

这就是在没有MAX的情况下现在可以工作的:

On Error Resume Next
    For Each ws In ActiveWorkbook.Worksheets
         If ws.Name <> "BHAInfo"  And ws.Name <> "BHADetail" Then
           Set rng1 = ws.Cells.Find(What:="Total Length").Resize(15)
          Set rng2 = Sheets("BHAInfo").Cells(Rows.Count, "J").End(xlUp).Offset(1)
          Rng.Value = rng1.Value
        End If
    Next
出错时继续下一步
对于ActiveWorkbook.Worksheets中的每个ws
如果ws.Name“BHAInfo”和ws.Name“BHADetail”,那么
设置rng1=ws.Cells.Find(内容:=“总长度”)。调整大小(15)
设置rng2=图纸(“BHAInfo”)。单元格(行数,“J”)。结束(xlUp)。偏移量(1)
Rng.Value=rng1.Value
如果结束
下一个
这是我最近一次尝试修改上述代码,以包括MAX:

On Error Resume Next
        For Each ws In ActiveWorkbook.Worksheets
             If ws.Name <> "BHAInfo" And ws.Name <> "BHADetail" Then
               Set rng1 = ws.Cells.Find.FormuaArray = "=MAX(What:= ""Total Length"")).Resize(15)"
              Set rng2 = Sheets("BHAInfo").Cells(Rows.Count, "J").End(xlUp).Offset(1)
              rng2.Value = rng1.Value
            End If
        Next
出错时继续下一步
对于ActiveWorkbook.Worksheets中的每个ws
如果ws.Name“BHAInfo”和ws.Name“BHADetail”,那么
设置rng1=ws.Cells.Find.FormuaArray=“=MAX(What:=“Total Length”)。调整大小(15)
设置rng2=图纸(“BHAInfo”)。单元格(行数,“J”)。结束(xlUp)。偏移量(1)
rng2.Value=rng1.Value
如果结束
下一个
类似这样的内容:

    For Each ws In ActiveWorkbook.Worksheets
         If ws.Name <> "BHAInfo" And ws.Name <> "BHADetail" Then

           Set rng1 = ws.Cells.Find(What:="Total Length")
           If Not rng1 Is Nothing Then
               Sheets("BHAInfo").Cells(Rows.Count, "J").End(xlUp).Offset(1).Value = _
                    Application.Max(rng1.Resize(15,1))
           End If

        End If
    Next
ActiveWorkbook.工作表中每个ws的

如果ws.Name“BHAInfo”和ws.Name“BHADetail”,那么
设置rng1=ws.Cells.Find(内容:=“总长度”)
如果不是,那么rng1什么都不是
图纸(“BHAInfo”)。单元格(行数,“J”)。结束(xlUp)。偏移量(1)。值=_
应用程序最大值(rng1.调整大小(15,1))
如果结束
如果结束
下一个
类似这样的内容:

    For Each ws In ActiveWorkbook.Worksheets
         If ws.Name <> "BHAInfo" And ws.Name <> "BHADetail" Then

           Set rng1 = ws.Cells.Find(What:="Total Length")
           If Not rng1 Is Nothing Then
               Sheets("BHAInfo").Cells(Rows.Count, "J").End(xlUp).Offset(1).Value = _
                    Application.Max(rng1.Resize(15,1))
           End If

        End If
    Next
ActiveWorkbook.工作表中每个ws的

如果ws.Name“BHAInfo”和ws.Name“BHADetail”,那么
设置rng1=ws.Cells.Find(内容:=“总长度”)
如果不是,那么rng1什么都不是
图纸(“BHAInfo”)。单元格(行数,“J”)。结束(xlUp)。偏移量(1)。值=_
应用程序最大值(rng1.调整大小(15,1))
如果结束
如果结束
下一个

你太棒了!这实际上也有助于其他许多事情!你真棒!这实际上也有助于其他许多事情!