アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。WindowsXPでExcel2002を使用しております。是非教えてください。

Excelで入力した文字列がセルの横幅を越えた長さとなった場合、右隣のセルが未入力であれば、自動的に全体が表示されるようになっています。

しかし、右隣のセルに、例えば関数を入力していた場合など何らかのデータを入力していた場合には、枠内までの文字しか表示されなくなります。

右隣のセルが、関数計算の結果、何らかの数値、文字列が表示される場合には致し方ないと思いますが、特に何も表示されない時、左隣のセルの文字列全体が表示されるようにしたいのですが、何らかの方法はございますでしょうか。

ちなみに、具体的な状況については以下の通りです。
 |A|B|
1| | |
・A1、B1セルにはそれぞれ同じIF関数(=IF([論理式],A21,""))を入力。
・A1セルのIF関数が「真」となったため、A21の文字列("浜崎総務部長の来訪")が表示される。
・B1セルのIF関数が「偽」となったため、何も表示されず。

宜しくお願い致します。

A 回答 (3件)

列幅は増やせない前提でしょうね。


A列の列記号とB列の列記号の間の縦線をダブルクリック
すれば自動的に全体が表示されるように広がります。
また書式のセル・配置で「全体を折り返して表示する」にしておくと、何行かに表示してくれます。
ほかに「縮小して全体を表示する」や文字フォントを小さくするとか。
ほかにはセルをクリックしたとき、(吹き出し)コメントやテキストボックスにセルの文字列等を表示する方法もありますが、VBA、それもやや初級でないものを使うになりそうです。
    • good
    • 0

それを実現したければ、セルに数式を埋め込む形ではなく


マクロでセルに値を挿入する形にするしかないかと。
(B1に数式が埋め込んである以上、その数式の結果が空欄であっても
A1のセルの文字がB1にはみ出す事はなさそうです)

良いタイミングで発生するイベント時に

If [論理式1] Then
  ThisWorkbook.Sheets("シート名").Range("A1") = ThisWorkbook.Sheets("シート名").Range("A21")
Else
  ThisWorkbook.Sheets("シート名").Range("A1") = vbNullString
End If

If [論理式2] Then
  ThisWorkbook.Sheets("シート名").Range("B1") = ThisWorkbook.Sheets("シート名").Range("A21")
Else
  ThisWorkbook.Sheets("シート名").Range("B1") = vbNullString
End If

といった処理を組み込んでおけば、A1だけにA21の値が入って
B1が空欄になった場合は
A1の文字列がはみ出して表示されます。
    • good
    • 0

更に左のセルが表示に関係ないのでしたら、右揃えにしておけば右のセルに関係なく表示されます。


また、セルの書式設定から配置のタブ。
縮小して全体を表示にしておけば、すべて表示されます。
こういうのじゃだめですかね?
    • good
    • 0

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