- ベストアンサー
Excelでフィルタをかけると警告メッセージが頻発する
Excel2003を使用しています。 あるシートでフィルタを適用しているのですが、どの列からも フィルタリングすると「オブジェクトの位置またはサイズが変更されます。」 というメッセージが出て、OKを押しても何度も同じものが出て OKを連打しないとフィルタリングされません。5.6回位同じのが出ます。 どのようにすればメッセージがでなくなるのでしょうか? ファイルのサイズは3MB位で、S列まで、8000行位あります。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 >「オブジェクトの種類は存在しません」と表示されました。 予想外でした。位置とサイズを持っているオブジェクトは、Shapes で取れたと思ったのですが……。今、英語で調べていますが、どうもはっきりしたものが出てきませんね。("change the size or position of an object") そのマイクロソフトのサポートには、"DrawingObjects" に対して、そのような問題が発生すると出てきます。DrawingObjects というのは、図形などですから、もう調べましたから違います >2行目のオートフィルタはデータ→フィルタのチェックを外しましたが、DE1のフィルタはクリックするとまだ生きています。 それって、ヘンです。ためしに、こんなマクロを使ってみてください。 実は、オートシェイプもオブジェクトなのですが、シートにひとつなのです。 Sub TestMacro2() ActiveSheet.AutoFilterMode = False End Sub これで、外れないと、シートが、壊れているような気がしてくるのです。 理由は、オートフィルタに働きかけているのではなくて、シート全体に対して、モードを解除するようにしています。ただし、結合セルは、いろいろ問題を引き起こすことは、昔から知られていますから、結合セルを解除できれば、また、違う結果も得られるかもしれません。
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 >行が非常に多くて、縮小表示してみたのですがオブジェクトはないようです。も >しあるとしたら、確認できる操作方法はありますか? あるとすれば、非表示オブジェクトなのかもしれません。非表示オブジェクトは、手動では処理できません。一番、トラブルを起こすのは、非表示の図形です。 以下のマクロを、シートのタブを右クリックして、コードの表示で出てきた場所に、貼り付けてみて、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
お礼
早速のご回答ありがとうございます。 ご丁寧にありがとうございます! 「オブジェクトの種類は存在しません」と表示されました。 オブジェクトはないということですね。。 あと、別件で質問したいのですが、DE1のセルに結合して「注文先」 のセルがあり、D2に会社、E2に担当というセルがあります。 この3つのセルどちらを選択してもオートフィルタが適用されています。 それを全て解除するにはどのようにすればいいのでしょうか? 2行目のオートフィルタはデータ→フィルタのチェックを外しましたが、DE1のフィルタはクリックするとまだ生きています。 言葉で説明しずらくて申し訳ございません。 自分で作成したファイルではないのでどうなっているのか よくわからないのです。。 よろしくお願いします。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 検索しても出てきませんね。 (このサイトで、回答はありましたが、内容的には解決されていません。) エラーの用語は、一字一句同じでないとヒットしないことがあります。 まず、フィルタリングというのは、オートフィルタなのかな、フィルタオプションなのかな? Excel2003で、そのような現象は聞いたことがありません。 オブジェクトというのは、 ワークシート上のオブジェクトはいくつもありますが、思い当たるものはあるのですか? コントロールツール、フォーム、図形、埋め込み型グラフ、OLEObject など... それらがあるのなら、その中の(書式設定のというのもあります)プロパティの ・セルに合わせて移動やサイズを変更する にしていないと、トラブルになるのかもしれません。 以下は、参考になるかは分かりません。 http://support.microsoft.com/kb/211769/ja 非表示オブジェクトの場合は、マクロを使わないと、手動では操作できません。時々、そういう問題のあるシートがあります。 後は、Excel 2003 のSP3 のパッチ当て(アップデート)をしているかどうかですね。
お礼
ありがとうござます。 フィルタは、オートフィルタです。 行が非常に多くて、縮小表示してみたのですがオブジェクトはないようです。もしあるとしたら、確認できる操作方法はありますか? マクロは登録されていませんでした。 別のPCでも同じ現象になり、パッチは最新でした。。 OSはWIN XProです。
お礼
回答ありがとうございます。 上記の教えていただいたマクロを実行してみましたが、 何の反応もありませんでした。 それと、フィルタの件ですが、データ→入力規則の「リスト」 表示のためにD列のどのセルをクリックしてもフィルタがかかったような表示になっていました。 紛らわしくてすみません。。 明日、セルの結合部分を解除したりその部分をきれいにして 変わるかどうかをまず確認してします。