• 締切済み

エクセルのセル内の文字列表示制限にひっかからないためには?

仕事でお客様のクレームをセル内に書きとめていますが、コピーペーストした文字列が文字数を超えるようで、#####がセル内に表示されてしまいます。 セルの表示書式は、ユーザー定義を用い、"故障状況"@ としています。セルに長方形図形を埋め込み、中にテキストとして書き込めば良いのですが、これは使用したくありません。表示制限に触れないように作成する方法はないでしょうか?

みんなの回答

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.5

すでに入力されているものは#4さんの方法で 此れからの為に シートタブを右クリック、コードの表示を選択 出てきたシートモジュールにコピペ 表示形式は標準に戻しておいてね Private Sub Worksheet_Change(ByVal Target As Range) Dim Rng As Range If Not Intersect(Range("a1:a10"), Target) Is Nothing Then Application.EnableEvents = False For Each Rng In Target Rng.Value = "故障状況" & Rng.Value Next Application.EnableEvents = True End If End Sub 注意 上から3行目のRange("a1:a10")の部分を故障状況を付加したい入力範囲に変更してね 現在、a1:a10 になっているものを >If Not Intersect(Range("a1:a10"), Target) Is Nothing Then B列全部なら If Not Intersect(Range("b:b"), Target) Is Nothing Then C5~G30の範囲なら If Not Intersect(Range("c5:g30"), Target) Is Nothing Then のように変更してね

Qperson
質問者

お礼

重ねて御礼申し上げます。 本来の質問と外れてきたように思います。別枠にて、質問をいたします。 ありがとうございました。

Qperson
質問者

補足

さらに、セキュリティーの問題が発生してしまいました。 マクロセキュリティーが”高”の設定のため、折角のマクロ設定も相手先で受け付けません。すんなり、セキュリティを”低(推奨しない)”に変えても良いのですが、皆さんから「大丈夫か?!」と言われています。

全文を見る
すると、全ての回答が全文表示されます。
  • end-u
  • ベストアンサー率79% (496/625)
回答No.4

では参考までにマクロ対応案。 1)Excel画面から[Alt]キーと[F11]キーの同時押し。 2)VBE(VisualBasicEditor)が起動します。 3)その画面で[Alt]→[i]→[m]の順押し。 4)モジュール(無地のシートのようなもの)が追加されます。 5)そこに以下のマクロコードをコピーペーストします。 '標準モジュール Option Explicit Sub try()   Dim r As Range   If TypeName(Selection) = "Range" Then     With Selection       .NumberFormat = "general"       For Each r In .Cells         If r.Value <> "" Then           r.Value = "故障状況" & r.Value         End If       Next     End With   End If End Sub 内容は、選択しているものがセル範囲だったら、その表示形式を標準にした後に セルの値を『"故障状況"&セル文字列』に変更するというマクロです。 ボタンやショートカットにマクロを割り当てて実行などもできますが、 まずは試しで#####となっているセルを選択して[Alt]+[F8]。 マクロ名が try になっている事を確認して[実行]クリックです。

Qperson
質問者

お礼

お礼が遅くなり申し訳ございません。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • end-u
  • ベストアンサー率79% (496/625)
回答No.3

>文字数が100文字に満たない場合でも、#####になってしまいます。 100文字ですか?1,000文字ではなく? [XL2002] 表示形式が文字列のとき 256 文字以上の文字を表示できない http://support.microsoft.com/kb/410234/ja (2003でも同様) 『仕様』という事なので >セルの表示書式は、ユーザー定義を用い、"故障状況"@ としています これをあきらめて、文字列ではなく「標準」に設定すると表示はできますが...

Qperson
質問者

お礼

ありがとうございました。

Qperson
質問者

補足

おっしゃるとおり、G/標準などにすると表示しますが、"故障・・"が表示できません。また、今回気づいたのですが、256文字を一度超過すると、256文字以下になっても#########だらけの場合がある?のかもしれません。論理的におかしいので、おそらくコピーペーストした際に、見えない記号(制御記号)や画像データ、図形データを貼りつけているのかもしれません。とにかく、仕様であればしかたなしですか。

全文を見る
すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

エクセル2003などでしたら一つのセルに32767文字。セルに表示できるのは1024文字まで。 セル内に#####が表示されるのはセルの幅が足りない場合でA、B,Cなどと書かれている列番号の境界線上にポインタを移しますと左右双方向の矢印に変わりますのでクリックして右方向などにドラッグすればよいでしょう。 また、セルを右クリックして「セルの書式設定」の「配置」のタブで「折り返して全体を表示する」にチェックをしてOKします。

Qperson
質問者

お礼

ありがとうございます。

Qperson
質問者

補足

文字数が100文字に満たない場合でも、#####になってしまいます。もちろん、折り返して・・・はチェックしています。

全文を見る
すると、全ての回答が全文表示されます。
  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.1

頻繁に起きるならセルを大きくするか文字を小さくする。 たまたま長い文字が入る時があるのでそうはしたくないばあい セルの書式設定の「配置」の「縮小して全体を表示する」をチェックする

Qperson
質問者

お礼

ありがとうございました。

Qperson
質問者

補足

すべて、確認済みです。 文字はあまり小さくすると、プリントアウト時に使用できません。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelの文字列と文字列の連結

    A1のセルにはj50 C1のセルには01(ユーザ定義で00の書式) この二つの数値をCONCATENATE()関数を用いて文字列を 連結するとj501となってしまいます。 C1のセルを文字列の書式にするとうまくj5001と表示されますがそれ以外に方法はないでしょうか?

  • エクセルで他のセルの値と決められた文字列

    エクセルで他のセルの値と指定した文字列を入力したい。例えば、あるセルに[1234]という数値を入力した時その右側のセルには[東京1234番地]と表示させたいのですがセル書式のユーザー定義で何とかなりますか?

  • Excel の「セルの書式設定」に関して

    Excel 2010を使用しています。セルに「5-1」と入力すると「5月1日」と表示されてしまいます。それで入力前に「セルの書式設定」を「文字列」に指定してから入力すると「5-1」と表示してくれます。ところが Web ページなどからそのままコピー&ペーストすると入力前に「セルの書式設定」を「文字列」に指定したにもかかわらず,「5月1日」となり,勝手に「セルの書式設定」が「ユーザー定義」に切り替わってしまいます。Web ページなどからコピー&ペーストしたデータを「文字列」のまま入力させる方法はありませんでしょうか?

  • エクセルで桁を揃えるために0を表示したセルをCSVでも有効にしたい

    エクセルで000050.000など桁をそろえるためにユーザー定義で設定しました。ところが設定したものをテキスト(CSV)で保存したところ、桁をそろえるために入力していたものがなくなっています。000050.000でしたら、 ただの50になっています。 ためしにセルの書式設定で文字列に変更したところ同じ動きをしました。 CSVに出したとき000050.000と表示されるにはどのようにすればよろしいでしょうか? どうぞよろしくお願いいたします。

  • excel のセル表示で文字列変数をユーザー定義

    Excel2013 のセルの表示形式で [ユーザー定義] に文字列変数の書式記号について教えて下さい。 例えば 伊藤 齋藤 石川 等の氏名の後に「先生」という文字を追加して表記させたい場合 氏名を文字列変数として扱えませんか。 数値変数の場合 #,###"円" と書くように 文字列変数"先生" と書くとしたら、文字列変数の部分をどのように記載したら良いでしょうか。

  • エクセルで、置換後の文字列を「01」にするには

    エクセル2000を使っています。 「新宿」という文字を「01」に置換すると、0が省略されて「1」だけになってしまいます。 書式を文字列に指定し、セルに直接書き込むと「01」と表示されます。 置換機能を使うと、書式に文字列が指定されていても「1」になってしまいます。 01は既にコードとして定義しているので、出来れば変えたくありません。 何か良い方法はありますでしょうか?

  • 【エクセル】16進数の文字列を2桁ずつ区切りたい。

    16進数の文字列を入力し、表示は2桁ずつハイフンを入れながら区切りたいと思っております。 入力:00062936EA37 表示:00-06-29-36-EA-37 「セルの書式設定」→「ユーザ定義」→「種類」で いろいろ試しているのですが、わかりません。 宜しくお願い致します。

  • セル内の文字列の差し替え

    マクロなど作れない初心者です、すみません。 セル内の文字列の差し替えをしたいのですが可能でしょうか? Sheet1のA1に「○」、A2に「×」、A3に「○ ×」 と入っているデータがあり、 Sheet2のA1に「=Sheet1!A1」と入れて 「○」と表示させているのですが、 そのSheet2のA1に 「○」がある場合には「含む」、 「×」がある場合には「含まず」、 「○ ×」がある場合には「含む」、 と表示させたいのですが 条件付き書式で「○を含むなら..」 表示形式のユーザー定義で「"含む"」などとしても 空白になってしまい表示されません。 このような特定の文字列を差し替えたいときには どのようにすればよろしいでしょうか? ちなみに「Sheet1」のシートの内容は変更できません..

  • Excelのセル内の文字列の文字色変更について

    申し訳ございません、どなたか教えていただけないでしょうか。 エクセルのセル内の文字列を、ある特定の文字列の時に文字色を変えたい。 例えば、赤、青、黄、桃、緑という文字列をセルの中に入れた時、 その文字の色がそれぞれ、 「赤」の時:赤色の文字色 「青」の時:青色の文字色 「黄」の時:黄色の文字色 「桃」の時:桃色の文字色 「緑」の時:緑色の文字色 というように自動的に設定をしたいのです。 条件付き書式では、3種類までならできますが、4種類以上だとダメですよね。 できればマクロではなく、セルの書式設定「ユーザー定義」で設定したいのですが、 公式はございますでしょうか。 数値によって色を変更する方法は、いろいろなサイトで確認しましたが、 文字列で色を変えるという方法がなかったもので質問をいたしました。 よろしくお願いいたします。

  • excelで0が13個貼り付け

    excel2000で 000000000000(←0が13個)とセルの書式設定、ユーザー定義で設定しているセルがあります。 このセルをコピーして、貼り付けるときの方法について相談です。 excel2000で 000000000000(←0が13個)とセルの書式設定、ユーザー定義で設定しているセルがあります。 たとえば、このセルに0と入力すれば、000000000000(←0が13個)と表示されるのですが、 このセルをコピーして、ユーザー定義が文字列のセルに貼り付けていのですが、どうしても0としか貼り付けられません。 ユーザー定義が文字列のセルにも、000000000000(←0が13個)と貼り付けられるようにするにはどうすればいいでしょうか

専門家に質問してみよう