• ベストアンサー

エクセルで保護しながらオートフィルを

エクセルで数式を保護しながらオートフィルを使いたいのですが。他のかたの質問を見てVBAを使うとできるらしいのですが、なんともうまくいきません。大きな表になっておりセル一つ一つに数式をいれているのですが、オートフィルを一度使うとなぜか数式がずれこんでしまい。 オートフィルを使えません。その為に保護しようかと思ったのですがもしもっと簡単な解決策・もしくはVBAのほうの説明でもかまいません。よろしくお願いします。

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

  • ベストアンサー
  • masakaji
  • ベストアンサー率33% (38/113)
回答No.2

その場合は、印刷や、レイアウトの為の、項目列と、 処理用の項目列を別々に作れば良いですよ。 今作成している項目列の下に2列空白列を挿入して、直接データとつながっている下の列に、作業用の項目列を作成してください。 1列はさんでいるので、上下の関係が分離され、今まで、作成した 項目のレイアウトと、データが分離できるます。 印刷の時に、その分断する為の列と、作業用の項目名の2列を 折りたたんだり、項目列の文字を白にして、 フォントを1と設定したりして、目立たなくして作業する方法があります。 既存のフォームをわたされて、作業する時、いつもこの2列を挟み込んで カスタマイズして、作業しています。 もちろん、フォームを作成した方に断ってから仕事します(^_^;)

その他の回答 (1)

  • masakaji
  • ベストアンサー率33% (38/113)
回答No.1

作成している表が、どこかで、分断されているのが 原因ではないでしょうか? 大きな表を作成する時のコツは、 ・列のタイトルを「結合せずに」「1列に1つのタイトルを必ずつける」    ソートをかけたり、オートフィルタを使う時に、列の項目名が    ハッキリしていないことから、データが崩れることがあります。 ・列、行の間に空白をいれない    一体的に処理したいと思っているデータは、    「絶対」に「つながっている状態」にして下さい。    例えば、体裁を整えようとして「C」のよこの「D」の列を空白にして 「F」に続きのデータを作成していた場合、「C」列に入っているデータと 「F」列に入っているデータは、別のものとエクセルが判断し、「C」列で、 ソート等で加工した場合、「F」列のデータは、「無関係」なので、データの 順番は、変化しません。 「行」の場合も同じです。 ・オートフィルタを実行する時には、必ず「見出し」の「項目名」の どこかの位置で行う オートフィルタを実行する際に、データの「まんなか」で、オートフィルタをかけると、 エクセルが「そのデータが、上下左右何処までつながっている」か自分で調べて、「つながっているとエクセルが判断した範囲で処理をする」ので、「たまたま、情報が、その項目のところの周辺に入力することが無く、分離していると」エクセルが、処理範囲をそう判断するので、結果としてデータが崩れます。 まず、この点に問題がないかどうか、お知らせください。    

gf8260
質問者

お礼

そうですね。表のタイトルのところはかなり結合使ってしまっているのでこれを直すとなると・・・かなりです。 でもそこが原因となるとどうしようもないですね。 もう仕事で使うことになるのでオートフィルは使わずにいくしかないですかね。

関連するQ&A