簡體   English   中英

是否有一個 excel/VBA 公式來查找長度不同的一系列單元格的最小/最大/平均值等?

[英]Is there an excel/VBA formula to find the min/max/average etc of a range of cells that varies in length?

我想知道是否有一種方法可以找到電子表格中一系列單元格的最小/最大/平均值等,當我不知道范圍的結尾在哪里時(我已經知道一種方法但是想知道是否還有另一個)?

在我的宏中,我目前使用以下內容:

Raw1.Range("H4").Value = Application.WorksheetFunction.Max(Range(Sheets("Raw").Range("A3"), Sheets("Raw").Range("A3").End(xlDown)))

我想使用不同的,因為這種方式每次運行代碼時都會給出“一個值”......我希望每次 A3 的值發生變化時 H4 的值都會改變,而不必運行宏。 .所以更像是一個公式

我在想像下面這樣的事情:

Raw1.Range("H3").Value = "= Min((A3:A & Range.End(xlDown).Row))"

我嘗試了各種方法但無法使其正常工作?

有誰知道這是否可能?

由於您不想主動運行宏,因此以下建議在Worksheet_Change()事件過程中編碼:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Range("A:A"), Target) Is Nothing Then
        If Target.Cells.Count > 1 Then Exit Sub
        Dim lastCell As Long, pos As Long, formulaCell As Range
        Set formulaCell = Range("H4")
        lastCell = Cells(Rows.Count, 1).End(xlUp).Row
        pos = InStr(1, formulaCell.Formula, "(") - 1
        formulaCell.Formula = Left(formulaCell.Formula, pos) & "(A2:A" & lastCell & ")"
    End If
End Sub

它以您的 OP 中的示例為前提,因為有問題的單元格包含一個簡單的公式(即)引用的單元格的地址位於現有公式的第一個( ,除了),每當檢測到 A 列發生變化時,事件過程將更新的范圍參考。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM