• ベストアンサー

オートフィルタを見出し行選択で不要な列まで▼がつく

初めて質問します。goo41と申します。 過去ログも検索してみたのですが、出てこなかったので、質問させて いただきます。よろしくお願いします。 要旨としては、見出し行を選択し、オートフィルタをかけると見出し のない部分まで「▼」が表示されてしまいます。 例)     A     B     C     D     E  ┌───┬───┬───┬───┬───┐ 1│名前▼│年令▼│住所▼│   ▼│   ▼│  ├───┼───┼───┼───┼───┤   注)テキスト表なので表示上はずれているかもしれません。    見難いですが列がそろっているものとして見て下さい。 この例では、1:1という行の選択をして、オートフィルタをかけた 場合、A~Cだけでなく不要な列(DとE)にまで「▼」がついてしま います。  ※D列とE列のすべてのセルにはデータは何も入力されていま   せん。ただし、該当の列のどれかに過去、データを入力した   ことはあります。既に消去済み。 オートフィルタをかけるときに、A1:C1を選択すれば不要な列に は「▼」はつかないのですが、複数のシートで汎用的なマクロを作成 したいと思っており、できれば、行選択→オートフィルタで、必要な 見出しのところだけに「▼」がつくようにしたいのです。 というのも自分だけで使うのであればよいのですが、人(初心者)に渡 す必要があるため、できれば不必要な表示は避けたいと考えているか らです。 DとE列をすべてクリアしてみたり、列削除してみたりしたのですが、 一度でも、その列のどこかのセルに入力した経緯があれば、必ずその 列までに「▼」がついてしまうのです…。 これはExcelのバグなんでしょうか? どなたか解決策がありましたら、よろしくお願いいたします。

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

  • ベストアンサー
  • goomika
  • ベストアンサー率26% (66/251)
回答No.3

No2です。 ちょっとわからないところがあるんですが、 おっしゃってる、 「1:1という行の選択をしてオートフィルタを かけていた」ってのは、 行番号1をクリックして、 行ごと選択されてたって事ですか? それで今まではきちんとオートフィルタの ▽出てました? 私は、書きましたように、 リスト内のどこかをアクティブにしてからしか やった事なかったんで・・。 うーん・・。意図的にやられるんだったら、 そのリストを全て選択してから、 オートフィルタの設定だと思います・・。 はっきりした、答えではなくすみませんです。

goo41
質問者

補足

回答ありがとうございます。 おっしゃる通り、「1:1という行の選択をしてオートフィルタを かけていた」ってのは、行番号1をクリックして、行ごと選択し てました。←使い方間違えてますか(汗)? でも、ちゃんとオートフィルタの「▼」出るんです。 なぜそんなことをするようになったかと言いますと、 たまに、1行目のどこかのセルに文字を入れて、2行目に見出し を作ったりすると、表のどこかをクリックしてオートフィルタを かけると1行目に「▼」がつくときがあった(1行目も表として 認識されている)ので、意識的に、オートフィルタをかけるとき はかけたい行を選択するようになった次第です。 昨日からは、表をアクティブにする設定をマクロに追加してから 、オートフィルタをかけるようにしました。 色々と教えていただきありがとうございました。。

その他の回答 (4)

  • goomika
  • ベストアンサー率26% (66/251)
回答No.5

追記;えっと、タイトルとリストの間に 少なくても1行開けると大丈夫です!

goo41
質問者

お礼

1行開けたら、ちゃんと認識してくれました。 今後は、表の作成するときには、表の上1行は空行を作る癖をつけることにします。 しかし、Excelはどこかでセルに入力された記録を履歴として覚えてるんでしょうかね。 それだけが謎として残りました。 もう知る必要はありませんが…。 では、色々とどうもありがとうございました。

  • goomika
  • ベストアンサー率26% (66/251)
回答No.4

No2です。 ああ、うまくいかなかった原因がわかりました。笑。 例えば、1行目にそのデータベースの タイトルとかを入れたとしますよね? で、そのすぐ下から(2行目に) リストを作ると、 タイトルもリストトとして認識してしまいます。 ですので、最初に書きましたように、 リストのすぐ上、下、真横には、 データは入れちゃいけないんですぅ。 そうすれば、リスト内の一箇所をクリックしとけば ちゃんと、フィールド名に、▽が 出てきます! 頑張って下さいね!

  • goomika
  • ベストアンサー率26% (66/251)
回答No.2

データベース機能を使用する場合、 いくつかの決まりごとがあります。 リストを作る時に、フィールド名とリストの間に 空白行を入れない。フィールド名とリストは、 違う書式を設定する。 リストのすぐ隣や真上、真下には大事なデータを 入力しない・・・。 ひとつのフィールドは同じ書式を使う・・・。 などなど。 そういう感じで作成された、リストだったら、 選択しなくても、リスト内をクリックしとくだけで、 リスト全体が選択されます。 それでもだめでしょうかぁ?

goo41
質問者

お礼

goomikaさん、回答ありがとうございます。 すっきりと理解できないのですが、こちらの要望としては解決しました。 どうもありがとうございました。 今後の方のために、現状を説明しておきますと 例)     A     B     C     D     E  ┌───┬───┬───┬───┬───┐ 1│名前▼│年令▼│住所▼│   ▼│   ▼│  ├───┼───┼───┼───┼───┤   注)テキスト表なので表示上はずれているかもしれません。    見難いですが列がそろっているものとして見て下さい。 今までは、1:1という行の選択をしてオートフィルタをかけていたので すが、A1だけを選択(クリック)してオートフィルタをかけると、表全体 に該当する見出し部分(つまりA~C列)に「▼」がつきました。 で、試しに上記作業後、改めて1:1の行選択をしたあとオートフィルタ をかけると、正しくA~C列にオートフィルタがかかりました。 恐らく、表としての認識が正しくなったからなんでしょうね。 ここからは推測の域ですが、Excel上で、以下の通り認識が代わったから 正しくなったと考えられます。  A~E列を表として認識→A~C列を表として認識 認識を意図的に解除する方法はわかりませんが、少なくともgoomikaさん がおっしゃる通り、正しく表が作成(空白行がない等)されていれば、自動 的に選択も正しくされるということのようです。 もし、その認識を意図的に手動で変更させる方法をどなたかご存知であれ ば、すっきりするのですが、こちらの要望としてはとりあえず解決しまし たので、解決のヒントを下さったお二方に感謝です。どうもありがとうご ざいました。

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

やはり変なとこに間違って入力しただけではないかなと。 クリアや削除をする場合、例えばその例ならD列から一番最後のIV列まで選択して削除してみてください。 他にはマクロをちょこっと修正するだけでつまりはVBAを勉強すれば解決もします。

関連するQ&A