• ベストアンサー

エクセル2000の入力規則

エクセル2000を使っていますが、データ→入力規則で、「文字列(長さ指定)」で最大値を10文字ではなく10バイト分としたいのですが、それは可能でしょうか。 また、この入力規則では不可能であるとすれば、ある列を全て10バイト分で設定したいとき、よい方法はありますか? よろしくお願いします。

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.4

例えば、何処かのセルに =SUMPRODUCT((LENB(A1:A10)>10)*1) のような関数を入れておけば A1:A10 で10バイト以上のデータがいくつあるか解ります。 併せて条件付書式で 数式が =LENB(A1)>10 のようにして色を付けるとどのデータに問題があるか解りやすいのではないでしょうか?

mimimin
質問者

お礼

このご回答でチェック方法を思いつきました^-^ Sheet1にあたる部分は、最終CSV形式にするのですが、Sheet2をチェック用のシートとして利用すればいいですね^^ Sheet1の関数の結果がエラーになっていても、これで調べられそうなので一石二鳥で大喜びしております! 本当にありがとうございました!

その他の回答 (4)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.5

細かい事ですが、ちょっと修正 A1:A10 で10バイト以上のデータがいくつあるか解ります。           ↓ A1:A10 で10バイトを超えるデータがいくつあるか解ります。

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.3

VBAでも再計算されたセルと入力したセルの両方を追う方法がちょっと思いつきません。 #2さんの方法をCalculateイベントに組み込むのが最も手っ取り早いと思います。 #1の方法で入力規則が設定してあるとして、、、 シート名を右クリックしてコードの表示を押下し、出てきたVBE画面に下記をコピペします。 Private Sub Worksheet_Calculate()   CircleInvalid End Sub

mimimin
質問者

補足

お二人の方、早速のご回答ありがとうございます。 今までに知らなかった使い方を勉強させていただきました。少し感動いたしました。 さて、ご回答に対する補足ですが、実際のデータは数千行あり、さらにバイト制限したい列が54列中、2列あります。 これを目視チェックするには時間がかかりすぎてしまうので、オートフィルタで規制以上の行の抽出をかけたほうが良い感じですね。。。 ただ、オートフィルタではバイト数での抽出が出来ないように見えます。(これで何か方法があれば一番よいのですが。。。) となるとチェックをかけたい列の右横に列を増やすなりして、チェックをかけたい列のバイト数をLENB関数で求め、その列をオートフィルタで検索をかけるという作業になるのでしょうか。 って、それでもA列で10バイト以上の文字があっても、B列でなければA列でせっかく抽出した列が消えてしまいますよね;; 実際に触る人はエクセルど素人さんなので、何か簡単な手順でわかる方法があればと思ったのですが、難しいものなんですね。ど素人さんに少し勉強してもらうのが一番かもしれません。

noname#16474
noname#16474
回答No.2

>関数の結果から引き出される文字列が10バイト以上になったときにはエラーメッセージが出る 一度設定した入力規則の値が、今回のように関数の結果から引き出される文字列や、コピぺで変更された場合は、入力規則が働きませんので、 メニュー[ツール]-[ワークシート分析]-[[ワークシート分析] ツールバーの表示] [無効データのマーク]をクリックしますと、エラーの箇所に赤丸がつきます。

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

例えばA列全体を選択して、入力規則のユーザー指定で数式に =(LENB(A1)<=10) でOKとか。

mimimin
質問者

補足

おおおぉ。バイト指定できるんですね。勉強になりました! でもですね。。。10バイトの規則にしたい列にCONCATENATE関数で違う列の文字をいくつか組み合わせて表示させているのですが、この関数の結果が10バイト以上になってもメッセージは出てくれないようです。。。 関数の結果から引き出される文字列が10バイト以上になったときにはエラーメッセージが出るなどということは、VBAの世界になるのでしょうか。。。

関連するQ&A

  • Excelの入力規則 バイト数で指定

    宜しくお願いします。 Excel2003で、10バイト以上入力した場合はエラーメッセージを出すような方法はありますでしょうか? データの入力規則で、「入力値の種類を文字列(長さ指定)」、データを「次の値の間」にして、最小値を「1」、最大値を「10」にすると、文字単位でしていされているようで、全角10文字入ってしまうようです。(「文字数」で換算されてしまうようです。) 何か方法がありましたらご教示ください。

  • エクセルの入力規則の設定について

    エクセルの入力規則の設定方法で質問があります。 入力値の種類は整数です。 入力する値は、決められた範囲内で重複しない物にしたいのです。 たとえば、A列の入るデータの条件として、 1 決められた範囲(たとえば2~20までの整数) 2 前にA列に入力されている値より大きな値。 です。   A  1 2  2 3  3 4  4 6  5 ? となっている場合、A5は1~20の間で7以上の値に制限したいのです。 どこかにダミーのセルを作ってA列の最大値を求めておけば可能だと思うのですが、入力規則だけで処理したいのです。 よろしくお願いします。

  • エクセル 入力規則について教えてください

    エクセルで顧客管理をしています。 C列に顧客名を入力していくのですが、 同じ顧客のデータは1行にまとめたいため、 C列には同じ名前が入力できないようにしたいのです。 C列全部に データ→入力規則→設定→数式  =countif(c:c,c1)=1 と、入力規則を設定しました。 この後、ダブリ入力をすると警告のメッセージボックスが出るようになったのですが、 中にはまったく同じ顧客名なのに入力できてしまったり、 また同じ名前はないのに、入力できなかったりします。 これは何が原因なのでしょうか? どうしてもダブリ入力はできないようにしたいのですが、他に何か方法はないでしょうか? 入力規則のようなものをVBAではできますか??

  • エクセルの入力規則で

    似た質問があるかもしれませんが、ご質問します。 エクセルの入力規則で、[挿入]メニューで定義した名前をリストのところで設定したいのですが、リストの入力欄に「名前」を入れるのにはどのような文字列にすればいいでしょうか。 分かりにくい質問かもしれませんが、「名前」はどのように表現したらいいでしょうかという質問です。入力規則のリストにしたいデータが他シートにあるため、質問しました。 お願いします

  • リストの入力規則

    どなたか教えてください。 リストデータの入力規則の設定をすると、セルにカーソルをあてると指定した文字列がプルダウンで表示されますが、その指定した文字列のひとつが、あらかじめ表示されている状態にしたいのです。 可能でしょうか? 宜しくお願いします。

  • エクセル 入力規則 貼付しても規則が変わらないようにするには?

    どなたかよろしくお願いします。 複数の営業所の売上を一つのエクセルシートに貼り付け、それを集計しています。 テンプレートでは入力規則で設定しているのですが、どうしても各人の入力方法がまちまちで、アルファベットを入力する列が全角・半角・太字になっていたり、数字の列が文字列になっていたりとバラバラなので、毎回直しています。なので貼り付けられても書式を統一出来ればと思います。 僕はあまり詳しくないのですが、入力規則でこの列は「半角英数字」と設定していても貼り付けたらそれになってしまうので、貼り付けられても書式が変わらないように、もしくはテンプレートの段階で書式を変更出来ないようにするにはVBAなどで設定すればそれは回避できるのでしょうか。 お手数ですが、よろしくお願い致します。

  • エクセルの入力規則について!

    エクセルでAの列1~20に入力規則により、その列に同じ数値を入力すると警告が出る様に設定しました。同じように重複してAの列1~20に数字の1~100までの数値以外を入力したら警告が出る様にも設定したいのです。 この様に入力規則を同じセルに複数設定できますでしょうか?お教えください。

  • エクセルの入力規則教えてください!

    エクセルの入力規則について、どなたか教えてください。 エクセルで出勤簿を作っていまして、 出社や退社のセルの書式設定を、 ユーザー定義で(24時間以上を連続で表示する)"[h]:mm"としていますが、 それだけだと、そのセルには、"ABC"とか、任意の文字でも入力できてしまいます。 そこで、そのセルに入力規則を設定して、 "[h]:mm"以外の書式のデータが入力された場合、 エラーではじくような、仕組みにしたいと思っています。 そういうことって、そもそもできるのでしょうか? また、他の方法でうまいやり方ってありますかね? もし、ご存知の方がいましたら、教えてください!

  • Excel入力規則

    Excelの入力規則で、特定のセルに 日付形式 あるいは  ( からはじまる文字列 に入力を制限することは可能でしょうか? よろしくお願いします。

  • エクセルの入力規則で、追加文字を許すには

    エクセルの入力規則で、リストを指定しましたが、このリストの文字列に追加入力を許すことはできませんか? 例えば、リストには県名を並べておき、県名を選んでから、同じセルに追加で文字を入れても良いようにできませんでしょうか。

専門家に質問してみよう