よろしくお願いいたします。
office365のEXCELバージョン2008です。
Dim A() As Double
で宣言した変数Aに、10万個程度の数値を格納し、その中からMAX.値とMIN.値を取り出すのに以下のようにワークシート関数を使ったのですが、
MyMax = Application.WorksheetFunction.Max(A)
MyMin = Application.WorksheetFunction.Min(A)
正しい数値が返ってきませんでした。
試しに、Aの数値をワークシートのA列に吐き出してみたのですが、
Range(Cells(1, 1), Cells(UBound(A), 1)).Value = WorksheetFunction.Transpose(A)
1行目から5819行目までは変数Aの保持している数値が吐き出されたのですが、5820行目以降はすべて「#N/A」表示になってしまいました。
Application.WorksheetFunction.で取り出した誤ったMAX.値とMIN.値も配列の0~5819の範囲まででの数値のようでした。
Application.WorksheetFunction.でVBAからワークシート関数を使用するとき、引数の数に制限(5820個?)がある、ということなのでしょうか?それとも単に私の使い方が適当ではないのでしょうか?
今回、For文で数値の数だけMAX.値を比較しながら取得することで目的は果たせたのですが、MAX関数が使えたら1行で済むのに、とも思いましたので後学のためにご教示いただけましたら幸甚です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/15 08:03
退会済みユーザー
2021/11/15 08:10 編集
2021/11/15 08:20