[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAでの最大文字数の求め方』(しょうこ)
いつもこちらのサイトを拝見しております。
初歩的は事かもしれませんが、教えていただけると助かります。
エクセル上に下記のとおり入力してあります。
A1セル:とうきょう
A2セル:かながわ
A3セル:ちば
A4セル:さいたま
A5セル:{=MAX(LEN(A1:A4))}
この様に入力した場合、A5セルでは最大文字数の5が求められています。
これと同じ事をVBAで求めようと、下記のようにしたのですが、エラーになってしまいます。
Range("A5") = WorksheetFunction.Max(Len(Range("A1:A4").Value))
仕方がないので今現在はこの様にしました。
Dim arr(1 To 4) As Variant, i As Long For i = 1 To 4 arr(i) = Len(Cells(i, 1).Value) Next i Range("A5") = WorksheetFunction.Max(arr)
しかしながら、本当はもっと簡単に求める方法があるのではないかと思いまして、
いつもお世話になっているこちらに投稿させていただきました。
よろしくお願いいたします。
< 使用 Excel:Excel2016、使用 OS:Windows7 >
数式をそのまま利用して
MsgBox [max(len(a1:a4))]
6が返りますが? (seiya) 2018/09/27(木) 08:56
素早い返信ありがとうございます、[]で囲む方法を知りませんでした
勉強になりました
ありがとうございました
(しょうこ) 2018/09/27(木) 09:02
Evaluate method です。
[]は変数を使用できないので、その場合は
例
Dim x As Long x=4 msgbox Evaluate("max(len(a1:a" & x & "))")
という具合になります。 (seiya) 2018/09/27(木) 09:08
今まさに変数を使用する方法を調べていました!
実際は変動する最終行を調べてから使用するので、
まさに回答していただいた例で実装できます!
本当にありがとうございました!
(しょうこ) 2018/09/27(木) 09:14
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.