- 締切済み
EXCEL2000 セルの文字数制限ですが・・・
セル内の文字数を全角4文字以内とし、5文字以上入力しても 表示は頭からの4文字のみが表示されるようにしたいんです。 LENB関数ではエラーメッセージとしか表示去れないのでだめです。 文字列を入力し、変換→ENTERで自動的に頭から4文字のみ表示する 方法を教えてください。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! VBAになってしまいますが、一例です。 全角で4文字・半角で8文字まで表示としています。 A列にデータ入力するコードにしています。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてA列にデータ入力してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から Dim k As Long, str As String, buf As String If Intersect(Target, Range("A:A")) Is Nothing Or Target.Count <> 1 Then Exit Sub str = Target If LenB(StrConv(str, vbFromUnicode)) > 8 Then Application.EnableEvents = False For k = 1 To Len(str) buf = buf & Mid(str, k, 1) If LenB(StrConv(buf, vbFromUnicode)) >= 8 Then Exit For End If Next k Target = buf Application.EnableEvents = True End If End Sub 'この行まで ※ 全角と半角が混在する場合、 半角文字が奇数の時は1文字多く表示される場合があります。m(_ _)m
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
右隣りのセルに="" 4文字分までしか表示しないよう列幅を狭くするとか =LEFT(A1,LOOKUP(8,LENB(LEFT(A1,{4,5,6,7,8})),{4,5,6,7,8})) で半角7文字か8文字分、抜き出せます
- chonami
- ベストアンサー率43% (448/1036)
別セルに入力して関数で抜き取るか、でなければVBAになるかと思います。 入力セルをJIS関数で全角にしてそこからLEFT関数で4文字抜き出すとか?