• 締切済み

(Excel) NumberFormatLocal="@" かつ WrapText=True のときEntireRow.AutoFit が無効。対処方法は?

標記の件、質問です。 Excel (2003) で、Cell の .NumberFormatLocal プロパティが "@" (文字列)で、かつ、.WrapText (列幅で折り返し) プロパティ True のとき、当該のCellに長い文字列を投入すると、.EntireRow.AutoFit (行の高さを自動調整) が無効となります。 この動作は仕様なのでしょうか? (文字列扱いにするのは、文字列の先頭が「=」のときに計算式として扱われるトラブルを防止する趣旨です) セルに格納された値が損なわれることはないのですが、このままでは印刷や内容確認 (視認) に支障があります。 文字列の先頭にシングルクォートを付加する、以外の回避手段をご存知の方、ご教示ください。 よい方法がなければ、文字列の先頭が「=」の場合のみ「'」を付加することになりそうですが......。 環境 : MS Excel 2003 (下位バージョンでも同様?)

noname#7749
noname#7749

みんなの回答

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.1

「AutoFitが無効になる」の意味が分からないのですが。メゾットなので実行してしまえばそれだけかと思います。 .WrapText がfalseの状態では幾らAutofitを実行しても効果ないでしょうが、trueの状態ならそのつど動きましたよ。2002と2003でやってみましたが。 文字列を入力した後、Autofitするとかではダメなのでしょうか。

noname#7749
質問者

お礼

書き足らない部分がありましたので、追加します。 > 再現するデータを使用した場合 の場合でも、NumberFormatLocal = "@" に変更せず、規定値 ("G/標準") のままであれば、AutoFitしなくとも、行の高さは勝手に変更されるようです。  どうやら、NumberFormatLocal = "@" ではなく、シングルクォートを使う他なさそうな状況ですが......。

noname#7749
質問者

補足

コメントありがとうございます。 > Cellに長い文字列を投入すると と書きましたが、単に列幅に収まらない長い文字というだけの条件ではないようで、再現条件がどうもはっきりしません。 文字列には、マルチバイト文字 (日本語) 改行コード (LF)、HTMLタグ等が含まれており、長さは600 ~ 800字程度あります。 単純に 「aaaaaaaaaaaaaaaaaaaaa<LF> aaaaaaaaaaaaaaaaaaaaa<LF> aaaaaaaaaaaaaaaaaaaaa<LF> aaaaaaaaaaaaaaaaaaaaa」(一例) といったテストデータでは再現しませんでした。 再現するデータを使用した場合、Excel 2000 でも同様の動作 (Autofitの実行有無に関らず、行の高さは規定値のまま。見かけ上、「###」と表示される) でした。

関連するQ&A

  • Columns("○:○").EntireColumn.AutoFitについて(EXCEL)

    エクセルでセルに文字を入力した後に、行列番号ダブルクリックをしてAutoFitを実行することあります。そこで、逆に、セルの幅を一定として、セル幅からはみ出す文字列を次の行の先頭に挿入しようかと考えていますが、AutoFitを実行しないで、実行後のセル幅を取得する方法ってあるのでしょうか?逆に、はみ出す文字数を取得する方法でも構いません。どなたか?詳しい方いらっしゃいましたらご指導願えないでしょう?宜しくお願い致します。

  • エクセル「折り返して全体を表示」での折り返しの行数取得方法

    エクセル2000のVBAで質問します。 A1セルにVLOOKUP関数で文字列が表示されます。 セルの書式設定で「折り返して全体を表示する」にした場合、セル内で折り返されて全部で何行になっているのかを取得する方法はありますか?(VBAでも関数でも) 現在、セルの高さを3行分とっているのですが、関数で表示される文字列の長さによっては3行でおさまらない場合があり、何行になるかがわかれば行数に応じてフォントサイズを変更し、縮小して全体を表示させようと思っています。 当初、セルからはみ出るかどうかがわかれば出来るかと思い、 Sub test01() With Worksheets("Sheet1").Range("A1") h = .Height .Value = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" .WrapText = True .EntireRow.AutoFit h2 = .Height .EntireRow.RowHeight = h End With If h2 > h Then MsgBox "はみ出しちゃった!", , " \(≧▽≦)丿" End If End Sub というマクロを書いてみたのですが、行数がわからないと縮小する割合が求められないので質問いたしました。

  • 【Excel】セル先頭に入ったシングルクオートを一括削除したい

    Excel2000使用者です。 他人からもらったExcelファイルの全セル先頭に「’」シングルクオートが入っています。 全て文字列として扱うためだとおもいますが数字でもないのに挿入されているのがコピペ時にじゃまだと思いまして一括削除する方法を探しています。 当然ながら置換ではできませんし、CSVに変換すると各種修飾などは消えてしまいますでしょうし… どうすればいいのでしょうか? お詳しい方、よろしくお願いいたします。

  • ワードの表を希望のところに動かせない。

    ワード2000です。 表を2つ作成し、下の表を少しだけ(最初の行を一行の真中に)動かそうとするとページの先頭に動いてしまいます。 表のプロパティで文字列の折り返しをしないにしてあります。 段落で段落後を0.5行にするという方法の他で教えてください。 どうぞよろしくお願いいたします。

  • JTableのCellにJLabelを埋め込むには?

    JTableのCellにJLabelを埋め込みたいと思うのですが、独自にCellEditorを作成しなければ、不可能でしょうか? *JTableのCellにわざわざJLabelを埋め込みたい理由は、あるセルの要素(文字列情報)に対してイメージアイコンを付加してJTableに表示したいからです。

  • ワードで罫線列幅を固定するには?

    ワード2002にて罫線内で改行すると列幅が変わらないようにするにはどうすればいいのでしょうか?ヘルプを見て以下のようにしても枠が動いてしまいます Word の表の列幅は、入力する文字列や図に合わせて自動的に変わります。列幅よりも長い単語を入力すると、その文字列が収まるように列幅が調整されます。入力しても列幅が変更されないようにするには、表の内側をクリックし、[罫線] メニューの [表のプロパティ] をクリックします。[表] タブをクリックして、[オプション] をクリックし、[自動的にセルのサイズを変更する] チェック ボックスをオフにします。

  • エクセルで桁合わせ!

    エクセルでA列に文字形式の数字があります. 例 0123 12345 234567 この文字形式の数字を仮に7桁で統一したいとします. 先頭に足りない桁は0を付加します. 変換後 0000123 0012345 0234567 このようにしたいのです. 列にあるデータごとに0を桁数分だけ付加していけばいいのですが このようなデータがたくさんあるので なにかいい方法がありましたら教えてください. お願いします.

  • ワードに表をきれいに

    ワードで論文を書いているものです。 ワードに表をコピーして別に書き出しているワードからいれようとしているのですが、なぜか右側の余白をはみ出してコピーされます。 なぜでしょうか。どうすれば、はみ出さずにコピーできますか。 2列のして、文字列を折り返しにしたいのですが、表のプロパティを開けて文字列を折り返しにするとまた一列だけの更に変なコピーになります。 どうすれば、きれいにコピーできますか。

  • セルに入力出来る文字数と表示(Excel2000)

    Excelのヘルプでセルに入力出来る文字数を検索すると以下の様になっています。 【ワークシートとブックの仕様】セルの内容の長さ(文字列) 32,767 文字。セルに表示できるのは 1,024 文字まで。数式バーでは 32,767 文字すべての表示が可能。 処が441バイト+強制改行5個=446バイトで表示が、全て「#####」になってしまいます。 セルの書式設定は、文字列とし列幅で折り返しを設定しています。 困ったことに、このシートはWordの差込印刷(カタログ)で読み込んでおり Word側では、 「#####」のセルがあるので列幅を変更しないと「#####」で 表示する旨の警告が表示され、列幅の最大値255を指定しても解消されません。 そのまま、強行するとWord側も「#####」で表示されてしまいます。 使用環境は、Win98SE、Office2000 SP1 適用済みで環境が最新ではありません。 MSのサイトで文字数に関するキーワードで検索をしましたが有効なものがヒット しません。=>最新にしたいのですが会社のPCで無断でUPする事が出来ません。 但し、バグなど正当な理由があれば、管理者と交渉はします。 1個のセルに大量の文章を入れる際の注意点又はバグ情報など関連しそうなことを 教えて下さい。 (尚、データ入力規則の文字制限に付いてはチェック済みです)

  • Excel操作

    アプリケーションのカテゴリが無かったので こちらで質問していいものかわかりませんが EXCELでちょっと困ってるので、教えて下さい。 SQLで流すための大量データをExcelで作成した のですが、文字列になる列にシングルクォートを 値の先頭に2つ(1つは文字列変換でエスケープ されるため)最後に1つ挿入したいです。 例) 111 → '111' 222 → '222' 333 → '333' なにかをキーにして一括置換だと、かなりの パターンのデータなので、とても労力が必要になります。 すばやく簡単に対応出来る方法などありますか? 宜しくお願いします。

専門家に質問してみよう