プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (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万文字くらいまでは大丈夫です。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/02/25 12:39

excel2007でも256文字で#VALUEエラーになりました。


どうも制限(255文字)までみたいです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/02/25 12:42

1つの関数に使える引数の数の制限として


255なのでそれに引っかかっているのではないでしょうか。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/02/25 12:42

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