• ベストアンサー

Excelでフィルタをかけると警告メッセージが頻発する

Excel2003を使用しています。 あるシートでフィルタを適用しているのですが、どの列からも フィルタリングすると「オブジェクトの位置またはサイズが変更されます。」 というメッセージが出て、OKを押しても何度も同じものが出て OKを連打しないとフィルタリングされません。5.6回位同じのが出ます。 どのようにすればメッセージがでなくなるのでしょうか? ファイルのサイズは3MB位で、S列まで、8000行位あります。 よろしくお願いします。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 >「オブジェクトの種類は存在しません」と表示されました。 予想外でした。位置とサイズを持っているオブジェクトは、Shapes で取れたと思ったのですが……。今、英語で調べていますが、どうもはっきりしたものが出てきませんね。("change the size or position of an object") そのマイクロソフトのサポートには、"DrawingObjects" に対して、そのような問題が発生すると出てきます。DrawingObjects というのは、図形などですから、もう調べましたから違います >2行目のオートフィルタはデータ→フィルタのチェックを外しましたが、DE1のフィルタはクリックするとまだ生きています。 それって、ヘンです。ためしに、こんなマクロを使ってみてください。 実は、オートシェイプもオブジェクトなのですが、シートにひとつなのです。 Sub TestMacro2()  ActiveSheet.AutoFilterMode = False End Sub これで、外れないと、シートが、壊れているような気がしてくるのです。 理由は、オートフィルタに働きかけているのではなくて、シート全体に対して、モードを解除するようにしています。ただし、結合セルは、いろいろ問題を引き起こすことは、昔から知られていますから、結合セルを解除できれば、また、違う結果も得られるかもしれません。

noname#42767
質問者

お礼

回答ありがとうございます。 上記の教えていただいたマクロを実行してみましたが、 何の反応もありませんでした。 それと、フィルタの件ですが、データ→入力規則の「リスト」 表示のためにD列のどのセルをクリックしてもフィルタがかかったような表示になっていました。 紛らわしくてすみません。。 明日、セルの結合部分を解除したりその部分をきれいにして 変わるかどうかをまず確認してします。

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

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 >行が非常に多くて、縮小表示してみたのですがオブジェクトはないようです。も >しあるとしたら、確認できる操作方法はありますか? あるとすれば、非表示オブジェクトなのかもしれません。非表示オブジェクトは、手動では処理できません。一番、トラブルを起こすのは、非表示の図形です。 以下のマクロを、シートのタブを右クリックして、コードの表示で出てきた場所に、貼り付けてみて、F5を押して、実行してみてください。 オブジェクトが存在するかどうか、ある程度の種類も分かるはずです。 もし、存在していたら、次のステップを考えます。 ------------------------------------------------------------ Sub TestMacro1() Dim obj As Variant Dim i As Long Dim j As Long Dim k As Long Dim n As Long  For Each obj In ActiveSheet.Shapes   Select Case obj.Type    Case msoAutoShape: i = i + 1    Case msoChart: j = j + 1    Case msoOLEControlObject: k = k + 1    Case Else    n = n + 1   End Select  Next obj  If i + j + k = 0 Then   MsgBox "オブジェクトの類は存在しません"  Else   MsgBox i & "個のオートシェイプ" & vbCrLf & _      j & "個のチャート" & vbCrLf & _      k & "個のコントロールツール" & vbCrLf & _      n & "個のその他のオブジェクト" & vbCrLf & _      "が存在します。", vbInformation  End If End Sub

noname#42767
質問者

お礼

早速のご回答ありがとうございます。 ご丁寧にありがとうございます! 「オブジェクトの種類は存在しません」と表示されました。 オブジェクトはないということですね。。 あと、別件で質問したいのですが、DE1のセルに結合して「注文先」 のセルがあり、D2に会社、E2に担当というセルがあります。 この3つのセルどちらを選択してもオートフィルタが適用されています。 それを全て解除するにはどのようにすればいいのでしょうか? 2行目のオートフィルタはデータ→フィルタのチェックを外しましたが、DE1のフィルタはクリックするとまだ生きています。 言葉で説明しずらくて申し訳ございません。 自分で作成したファイルではないのでどうなっているのか よくわからないのです。。 よろしくお願いします。

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

こんにちは。 検索しても出てきませんね。 (このサイトで、回答はありましたが、内容的には解決されていません。) エラーの用語は、一字一句同じでないとヒットしないことがあります。 まず、フィルタリングというのは、オートフィルタなのかな、フィルタオプションなのかな? Excel2003で、そのような現象は聞いたことがありません。 オブジェクトというのは、  ワークシート上のオブジェクトはいくつもありますが、思い当たるものはあるのですか?  コントロールツール、フォーム、図形、埋め込み型グラフ、OLEObject など...   それらがあるのなら、その中の(書式設定のというのもあります)プロパティの  ・セルに合わせて移動やサイズを変更する にしていないと、トラブルになるのかもしれません。 以下は、参考になるかは分かりません。 http://support.microsoft.com/kb/211769/ja 非表示オブジェクトの場合は、マクロを使わないと、手動では操作できません。時々、そういう問題のあるシートがあります。 後は、Excel 2003 のSP3 のパッチ当て(アップデート)をしているかどうかですね。

noname#42767
質問者

お礼

ありがとうござます。 フィルタは、オートフィルタです。 行が非常に多くて、縮小表示してみたのですがオブジェクトはないようです。もしあるとしたら、確認できる操作方法はありますか? マクロは登録されていませんでした。 別のPCでも同じ現象になり、パッチは最新でした。。 OSはWIN XProです。

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

関連するQ&A

  • Excelのワークシート上のオブジェクト

    Excel2007です。 ワークシートに3列程のデータがあり、その横にコマンドボタンやテキストボックスなどのオブジェクトを置いています。 オブジェクトが置いてある行のデータを削除したり非表示にしたりすると、オブジェクト自体のサイズが変わってしまったり見えなくなってしまったしります。 行を削除・非表示などしてもオブジェクトの位置やサイズが変わらなくなる方法はありますでしょうか?

  • エクセル2010 オートフィルタ 不要な行

    『一定の範囲にオートフィルタを設定し、 任意の列でフィルタリングを掛けた結果上で、 垂直スクロールバーを一番下まで落とすと、 フィルタリングされた結果の最下行まで落ちる』 これを「正しい」現象として、今まで認識していましたが、 本日、以下のような現象が起きました。 最後の一文のみ、変わります。 『一定の範囲にオートフィルタを設定し、 任意の列でフィルタリングを掛けた結果上で、 垂直スクロールバーを一番下まで落とすと、 フィルタリングされた行より更に下(フィルタリング対象範囲外)の行まで余分に落ちる』 これは、何故でしょうか。 私の認識する「正しい」挙動に修復することは可能でしょうか。 余分なデータが認識されているのではと考え、 オートフィルタ範囲外の行列は一度削除し、 また『最後のセル』位置も、オートフィルタ範囲内の一番右下であると確認済みです。

  • Excelのシートやフィルタの疑問について

    Excel2010(WIN7,メモリ4GB)を使用しています。 以前、シートがとても重たい件(コピー、挿入の操作で30秒前後かかる)で質問した際、メモリ不足では?とのことでPCの買い替えを考えなければダメかな?と検討したところ、4GBを仮に16GBにしても起動が遅くなるだけで解消されないのでは?のご意見もありました。 先刻ふと思ったのですが、オートフィルタの設定が16384列まで、条件書式によるセルのぬりつぶしが最終行まで適用になっているのでは・・?(未使用の3万行までは確認)ならばシート全体を使用している膨大な表となっている。だとすればシートが重たいのは当然。という解釈は成り立ちますか? (条件書式を○○以下としているため、未使用部分も塗りつぶしされているようです) 実用に不向きなExcelの機能なんてあるわけないかも?と今思ったりもしています。 関連で、フィルタの適用範囲が2003だと1000行までらしいですが、2010はどうなんでしょうか? 約5000行の表ですが、500行までしか抽出されません。空白行が関連しているであろうと推測するのですが、抽出されている500行までの中にも空白行は点在しています。 試しに510行目の空白行を削除後、同じ位置に行を挿入。その後、抽出すると510行まで対象となっています。なぜか?がわかりません。 約5000行までの間に約10行毎にある空白行に対し、削除・挿入の作業を繰り返す以外に対策はないのでしょうか?

  • EXCELのオートフィルタのコピーについて

    EXCEL2000を使用しています。 オートフィルターにて抽出し一部をコピーし同じシートの別の列に貼り付けすると 隠れている行にもコピーされ表示されたところだけにコピーされません。 よい方法はありますか?

  • エクセルVBA オートフィルタについて

    オートフィルタは2つまでしか条件が設定できません。 3つ以上設定する方法はないでしょうか?(OR条件です) オートフィルタの引数(Criteria)は2つしかありませんから、恐らく3つ以上の設定はできないと思っています。 そこで、オートフィルタを複数回設定し、使っていない列に特定の文字(例えば○など)を入れ、最後にこの○を条件にすることにより、実質的に3つ以上条件のフィルタリングを実現させたいと考えております。 そこでお聞きしたいのは、各条件でフィルタリングした時に、任意の列に○を入れる方法です。 例えば myRng.AutoFilter Field:=4, Criteria1:="=?UA*" でフィルタリングしたエリアの特定の列に○を入れるにはどのようなVBAになるのでしょうか? オートフィルタを使わず、ループで全行の条件を聞いて、○をつけることは可能ですが、行数が非常に多いので時間がかかってしまいます。 オートフィルタを使えばすばやく該当行が選択されますので、何とかこれを利用したいと思っています。何か良い方法は無いでしょうか? よろしくお願いします。

  • Excelのオートフィルタについて

    こんにちは。人からもらったExcelブックですが、フィルタを実行しているシートのフィルタボタン(▽このボタンです。)を押してもプルダウンの選択項目が出てこなくなっていました。そこで、いったんオートフィルタをメニューから解除してみるのですが、データはすべて表示されず、画面はフィルタボタンが外れただけの状態になります。その後、行の再表示を実行するとすべて表示されるようになりました。 この後、再度オートフィルタを実行すると問題なく操作はできるようになりました。 ちなみに初期の状態では、2つの列にオートフィルタを実行しているようです。 作成者にどうしてこうなるのか聞かれましたが、さっぱりわかりません。また、シートやブックの保護も実行されてませんでした。 実行しているソフトはExcel2000です。作成したソフトはExcelでバージョンは残念ながら不明です。 お分かりの方、どうぞよろしくお願いいたします。

  • エクセル オートフィルタについて

    オートフィルタのボタンの位置について質問です。 シートの1行目を見出しとし、range("A1")を選択。 そこでフィルタをかけると通常1行目にボタンが出現すると思いますが、 なぜか2行目にボタンが出現します。 全てのシートではなく、特定のシートのみに起こるようです。 原因がわからないため、こちらで質問させていただきました。 よろしくお願い致します。

  • オートフィルタを変更しフィルタ付け

    Excel2000使用。 今あるシートに縦が3段目(行カラムが3から始まる)から横にA列からH列までの表があり、 その内6つの列A、B、C、D、E、F列にオートフィルタでフィルタをつけています。 このうちB,Dのフィルタを削除したいのですが、うまくいきません。 とびとびでかけることは可能ですか?(A,C,E列のみフィルタかけ) そのための操作を教えてください。

  • EXCEL 2列交わる条件でフィルタをかけたい!

    初心者ですいません。 A列に対してB列の値を、複数条件でフィルタをかける方法を教えてください。 例えば…下記のように、 B列の(値→⚪︎を含まない値→×)だけに絞った A列の値を、別のシートに抽出したいと思っています。 ======================== 【フィルタ前】 A列 B列 ーーーーーーー 1 × 1 × 1 ⚪︎ ーーーーーーー 2 × ーーーーーーー 3 ⚪︎ 3 × ーーーーーーー 4 ⚪︎ ーーーーーーー 5 × 5 × 5 × 【フィルタ結果】 A列 B列 ーーーーーーー 2 × ーーーーーーー 5 × ======================== 1シートに対しデータが1000行位で、 5シートあるので、困っています。 どんな方法でも良いので、宜しくお願いします。

  • Excel不要セル

    1つのブックに9シート有りサイズが約9MBあります。 関数、マクロを多く使ってます。オブジェクトは一切なしです。 網掛け等もありますがちょっとしたもんです。 重すぎるので原因をいろいろ探ってみました。行は普通でしたが列がXFDまであります。 正常なのは列は3シートだけでした。サイズが肥大する原因は膨大な列のせいですよね?で、F5で空白セルにジャンプして左方向にシフトで削除を試みましたが、フリーズします。PCのスペック的には全く問題ないと思うのですが、なにか良い方法はありませんか? それと、列が勝手に肥大する原因はなんですか?

専門家に質問してみよう