必要に応じて、以下のvba関数を変更しました。
4500 行以上を含むシートを含む多くのワークブックがあり、関数を使用して 2 つの指定された値を (境界として) 検索します。次に、行を範囲として選択します。最後に、その範囲で何でもします。関数:
Function GeoM(A, B)
Application.Volatile
Dim x As Integer
Dim y As Integer
Dim rng As Range
x = Application.WorksheetFunction.Match(A, Range("B:B"), 0) ' looking in col B
y = Application.WorksheetFunction.Match(B, Range("B:B"), 0) ' looking in col B
Set rng = Range(Cells(x, 18), Cells(y, 18)) 'Im working on col 18
GeoM = Application.WorksheetFunction.GeoMean(rng)
End Function
問題は、このコードはGeoMean
n を除いて問題なく動作することです。データの範囲が比較的小さい場合 (データ セルの数)、値が返されることに気付きました。ただし、範囲が約よりも大きい場合。126 セルの場合、 が返されます#value!
。
私は立ち往生しており、この問題の解決に取り組んでいます。関数はGeoMean
特定の数のデータに制限されていますか?
ありがとう