プロが教えるわが家の防犯対策術!

皆さん、宜しくお願いします。

結合セル内の文字数をカウントするために以下のコードを書きましたが、実行すると 247文字目以上で"Error 2015"とウォッチウィンドウに表示されてしまい正しくカウントしてくれません。
run-time error は確か13だったかと思います。(少しあやふやです。)
試行錯誤してみたり、他の解答を検索したのですが何が原因なのか分からないままです。
ちなみにExcel上で「=lenb(セル)」と入力すると247文字以上でも問題なくカウントしてくれます。
申し訳ありませんがよろしくお願い致します。

<環境>
windows 7 64bit
excel 2013
英語環境

----------------------
Sub test123()

Dim i As Long
Set Para = Worksheets("Parameters")
Para.Activate

For i = 1 To 10
With Para.Cells(i, 5).MergeArea.Item(1)

Debug.Print Application.Evaluate("LENB(""" & .Value & """)")

End With
Next

End Sub

A 回答 (2件)

仕様では。



Microsoft デベロッパーセンター - Application.Evaluate メソッド (Excel)
https://msdn.microsoft.com/ja-jp/vba/excel-vba/a …

| ~名前の長さは 255 文字以下にする必要があります。
    • good
    • 0
この回答へのお礼

書いてありますね。失礼しました。
結局、不要なものを除いた「Len(.Value) 」でカウントできました。
有難うございました。

お礼日時:2018/04/27 15:29

Evaluate の引数の文字列の長さが 255を超えなければいいのですから



Debug.Print Application.Evaluate("LENB(" & .Address & ")")

でいかがでしょうか?
    • good
    • 0
この回答へのお礼

.Addressで試したのですが、セル番号の文字列の長さをカウントしたみたいです。
余計なものを除いた、Len(.Value)でカウントできました。
有難うございました。

お礼日時:2018/04/27 15:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!