- ベストアンサー
エクセルのASC関数の字数制限について
エクセルのASC関数の字数制限について 特定のセルの値をASC関数にて、半角に出来る文字を全部半角にしようとして、 =ASC(セル番号)としたところエラーが発生します。 対象セルの文字数は、全角で368字あります。 ASC関数は対象の字数制限があるのでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
実験したところ255文字までのようです。 For I = 1 To 300 A = String(I, "A") On Error Resume Next B = Application.WorksheetFunction.Asc(A) C = Err.Number On Error GoTo 0 If C <> 0 Then Exit For Next Debug.Print I 表示は256でしたので、255文字までは処理できるようです。 そこで、自前で関数を作ったら如何でしょう。 Function toHalf(ByVal T As String) As String toHalf = StrConv(T, vbNarrow) End Function セルには"=toHalf($B$1)"と記述します。 限界はあると思いますが、1万文字くらいまでは大丈夫です。
その他の回答 (2)
- mu2011
- ベストアンサー率38% (1910/4994)
excel2007でも256文字で#VALUEエラーになりました。 どうも制限(255文字)までみたいです。
お礼
やはり字数制限があるのですね。 そこで、データセルがF1にあるとして、 =ASC(MID(F1,1,250))&ASC(MID(F1,251,LEN(F1)-250)))とすることにしましたらOKでした。
- akiomyau
- ベストアンサー率43% (555/1280)
1つの関数に使える引数の数の制限として 255なのでそれに引っかかっているのではないでしょうか。
お礼
やはり字数制限があるのですね。 そこで、データセルがF1にあるとして、 =ASC(MID(F1,1,250))&ASC(MID(F1,251,LEN(F1)-250)))とすることにしましたらOKでした。
お礼
やはり字数制限があるのですね。 そこで、データセルがF1にあるとして、 =ASC(MID(F1,1,250))&ASC(MID(F1,251,LEN(F1)-250)))とすることにしましたらOKでした。