• ベストアンサー

エクセルのASC関数の字数制限について

エクセルのASC関数の字数制限について 特定のセルの値をASC関数にて、半角に出来る文字を全部半角にしようとして、 =ASC(セル番号)としたところエラーが発生します。 対象セルの文字数は、全角で368字あります。 ASC関数は対象の字数制限があるのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1416)
回答No.2

実験したところ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万文字くらいまでは大丈夫です。

YON56
質問者

お礼

やはり字数制限があるのですね。 そこで、データセルがF1にあるとして、 =ASC(MID(F1,1,250))&ASC(MID(F1,251,LEN(F1)-250)))とすることにしましたらOKでした。

その他の回答 (2)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

excel2007でも256文字で#VALUEエラーになりました。 どうも制限(255文字)までみたいです。

YON56
質問者

お礼

やはり字数制限があるのですね。 そこで、データセルがF1にあるとして、 =ASC(MID(F1,1,250))&ASC(MID(F1,251,LEN(F1)-250)))とすることにしましたらOKでした。

  • akiomyau
  • ベストアンサー率43% (555/1280)
回答No.1

1つの関数に使える引数の数の制限として 255なのでそれに引っかかっているのではないでしょうか。

YON56
質問者

お礼

やはり字数制限があるのですね。 そこで、データセルがF1にあるとして、 =ASC(MID(F1,1,250))&ASC(MID(F1,251,LEN(F1)-250)))とすることにしましたらOKでした。

関連するQ&A